Как объявить данные в столбце mysql

0

Может кто-то мне помочь, я хочу объявить данные из столбца "status".
Если "зеленый", то значение равно 1.
Если "желтый" значение равно 2.
Если "красный" значение равно 3.

И тогда все это значение может сделать линейный граф с использованием языка PHP.

   name: 'Data Status',
             data: [
                        <?php
                        $sql = "SELECT * FROM monitoring";
                        $result = mysqli_query($koneksi, $sql);
                        while ($data = mysqli_fetch_array($result))
                        {
                         ?>
                            <?php echo $data["status"]?>, <?php
                        }?>
                    ]

Но я знаю, что данные не могут загружаться должным образом, потому что данные типа являются строками.

+---------+------------+----------+----------+
    | id_data | time       | status   |   date   |
    +---------+------------+----------+----------+
    | 1       | 05.00      |   green  | 01-01-18 | 
    | 2       | 05.30      |   green  | 02-01-18 | 
    | 3       | 05.30      |   red    | 03-01-18 | 
    | 4       | 05.30      |   green  | 04-01-18 | 
    | 5       | 05.15      |   yellow | 05-01-18 | 
    | 6       | 05.20      |   yellow | 06-01-18 | 
    | 7       | 05.11      |   red    | 07-01-18 | 
    | 8       | 05.05      |   red    | 08-01-18 | 
    | 9       | 05.22      |   green  | 09-01-18 | 
    +---------+------------+----------+----------+
Теги:

2 ответа

0
Лучший ответ
 <?php
 $sql = "SELECT * FROM monitoring";
 $result = mysqli_query($koneksi, $sql);
 while ($data = mysqli_fetch_array($result)) {
     switch ($data["status"]){
         case 'green':
             $value = 1;
             break
         case 'yellow':
             $value = 2;
             break;
         case 'red':
             $value = 3;
             break;
         default:
             $value = 0;
             break;
      }
      echo $data["status"] . ' ' . $value;
 }
  • 0
    Спасибо, сэр, вы решили мою проблему
  • 0
    Добро пожаловать
0

Возможно, самым простым было бы утверждение case в sql

SELECT 
    'id_data',
    'time',
    'date',
    case 
        when 'status'='green' then 1
        when 'status'='yellow' then 2
        when 'status'='red' then 3
    end as 'status'
    FROM 'monitoring'
  • 0
    спасибо за решение, сэр

Ещё вопросы

Сообщество Overcoder
Наверх
Меню