php - json_encode 将特定字符串替换为数字(对于 flot.js)

标签 php javascript jquery mysql flot

嗨,我对此进行了广泛的搜索,并以多种方式进行了调整,但我就是无法得到正确的结果。

我的目标是从反馈表单中检索 mysql 数据并绘制 flot.js 图表。到目前为止我可以用这个检索数据:

$query = "SELECT flavor,  COUNT(flavor) FROM $tbl_name GROUP BY flavor";
$result = mysql_query($query);  

while($rows = mysql_fetch_array($result))
{
$dataset1[] = array($rows['flavor'],$rows['COUNT(flavor)']);
}

这会检索 flavor 评级(优秀、良好、平均或差)并计算反馈中每个 flavor 评级的使用次数,数组如下所示:

[["average","1"],["bad","1"],["excellent","1"],["good","2"]]

flot.js 需要我的 x,y 值是数字,因此当我调用 $dataset1 时,我设法使用 JSON_NUMERIC_CHECK 将数值更改为整数,所以现在它看起来像这样:

[["average",1],["bad",1],["excellent",1],["good",2]] 

我不知道如何将“优秀、良好、平均和糟糕”这些词转换为简单的数值,例如:“优秀”一词应该是 1,“好”应该是 2 等等,所以我的 float 数据输出如下:

[[3,1],[4,1],[1,1],[2,2]]

这是我的flot javascript:

$(function () {

$.plot(
   $("#graph"),
   [
    {
      label: "Flavor",
      data: <?php echo json_encode($dataset1, JSON_NUMERIC_CHECK); ?>,
      bars: {
        show: true,
        barWidth: 0.5,
        align: "center"
      }   
    }
 ],
 {
   xaxis: {
     ticks: [
       [1, "excellent"],
       [2, "good"],
       [3, "average"],
       [4, "bad"]
     ]
   }   
 }
);

});

有人遇到过这样的事情吗?我是否以错误的方式处理它?任何帮助将不胜感激。

我也做了很多研究,尽量不要重复发帖,如果这个问题已经得到回答,请原谅我。

最佳答案

在追加到数组之前替换该值...

while($rows = mysql_fetch_array($result))
{
    switch ($rows['flavor']) {
        case 'excellent':
            $number = 1;
            break;
        case 'good':
            $number = 2;
            break;
        case 'average':
            $number = 3;
            break;
        case 'bad':
            $number = 4;
    }
    $dataset1[] = array($number, $rows['COUNT(flavor)']);
}

关于php - json_encode 将特定字符串替换为数字(对于 flot.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14535216/

相关文章:

jquery 动画与翻译 y 和 fadeIn

javascript - Chart.JS 不从 0 开始

javascript - 选择并聚焦 <a> 标签中的文本

javascript - 检查多边形是否在多边形内部

javascript - TUI图像编辑器动态图像

php - 如何从两个表中选择数据并对借方和贷方列中的余额求和(php)

php - xampp phpmyadmin 不起作用

PHP mysqli_fetch_array 出现一般 fatal error

php - 何时实现 javascript MVC 框架

javascript - LocalStorage 无法与 SlideToggle 配合使用(与切换配合使用)