如何声明mysql列中的数据

时间:2018-01-12 07:51:35

标签: php mysql

有人可以帮助我,我想从“状态”列中声明数据 如果是“绿色”则值为1.
如果为“黄色”,则值为2 如果“红色”,则值为3.

然后所有这些值都可以使用PHP语言制作折线图。

import java.util.Arrays;
import java.util.List;

public class Test_Q3 {

    public Test_Q3() {
    }

    public static void main(String[] args) {
        List<Integer> values = Arrays.asList(1, 2, 3);
        values.stream()
              .map(n -> n * 2)
              .peek(System.out::print)
              .count();
    }
}

但我知道数据无法正确加载,因为类型数据是字符串。

   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
                        }?>
                    ]

2 个答案:

答案 0 :(得分:0)

最简单的可能是sql中的case语句

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`

答案 1 :(得分: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;
 }