根据数组的长度创建报告

时间:2017-05-05 08:14:34

标签: javascript php jquery

我将报告从PHP转换为jQuery。

以下是我的PHP代码:

Morris.Donut({
      element: 'graph_donut',
      data: [
          <?php foreach ($result as $value) {?>
          {label: <?php echo $value->x;?>, value: <?php echo $value->y;?>},
          <?php } ?>
      ],
      resize: true
    });

变量$ result可以是1到4之间的任何值。

我想将其转换为将其转换为jQuery,我的结果是json格式。但是,我无法实现我在PHP中轻松实现的目标。如果result.length是4,我没有任何问题,但如果它小于4,我得到未定义的错误。下面是我在js中的代码。

Morris.Donut({
      element: 'graph_donut',
      data: [
          {label: result[0].x, value: result[0].y},
          {label: result[1].x, value: result[1].y},
          {label: result[2].x, value: result[2].y},
          {label: result[3].x, value: result[3].y},
      ],
      resize: true
    });

提前致谢。

2 个答案:

答案 0 :(得分:1)

您需要根据结果的长度建立数据,而不是直接插入数据。

这样的事情?

results = [{"cat_name":"something","x":94},{"cat_name":"something else","x":6}];

data = results.map(function(result) {
  return {
    label: result.cat_name,
    value: result.x
  }
});

console.log(data)

然后像这样使用它,

Morris.Donut({
  element: 'graph_donut',
  data: data,
  resize: true
});

答案 1 :(得分:1)

之前制作数组
sudo phpdismod pdo_dblib
sudo service php7.0-fpm restart

<强> demo