0

最愚蠢的怀疑可能无法修复它..:(我试图回应如下结果需要用逗号分隔每个日期,但到最后一个日期(元素)我得到一个额外的逗号..如何解决这个问题.. 请帮忙

[[Date.UTC(2012,01,26),17],[Date.UTC(2012,01,27),14],]

我要回显的代码

echo "[";
while($row=mysql_fetch_array($result))
 {      
   echo "[Date.UTC(".$row ['date']."),".$row['frequency']."],";
      }
 echo "]";

由于这个错误,我无法将 json 数据解析为 highcharts。

  <script> 
  var chart;
   $(document).ready(function () {
     chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container1',
        type: 'area'
          },

    yAxis: {
        type: 'double',
        min: 0
    },
    xAxis: {
        type: 'datetime',
        labels: {
            formatter: function () {
                return Highcharts.dateFormat('%b %y', this.value);
            },
            dateTimeLabelFormats: {

                month: '%b \'%y',
                year: '%Y'
            }
        }
        },
       series: [{
        name: 'Total Views',
        data: []
        }, ]

      });

     chart.series[0].setData(

   });
   </script>

  <script>    
   $.getJSON('data.php', function(data) 
   {
  chart.series[0].append(data);
         }   

    </script>


 <div id="container1" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
 </body>
 </html> 
4

2 回答 2

0

你必须解决这个问题。第一个是使用 substr 删除最新的“,”。第二个是这样做

echo "[";
$result = array();
while($row=mysql_fetch_array($result))
{      
   $result[] = "[Date.UTC(".$row ['date']."),".$row['frequency']."]";
}
echo implode(',', $result);
echo "]";
于 2013-09-06T15:25:35.017 回答
0

不要将 嵌入到,您正在构建的字符串中。构建一个字符串数组,然后将其内爆:

$data = array();
while($row=mysql_fetch_array($result))
   $data[] = "[Date.UTC({$row['date']}),{$row['frequency']}]";
}

$string = implode(',', $data);

多田,没有多余的,

于 2013-09-06T15:25:56.957 回答