0

由于我在使用 IE 8 时遇到的一个问题,它没有使用 Highcharts 渲染一些图表我正在使用下面的代码从数据库中提取我的数据的问题

PHP代码返回以下

series: [{
            type: 'pie',


            data: [

            ['FirstRowItem',21],['SecondRowItem',10],['ThirdRowItem',6],                ]
        }]

和数据库请求如下

series: [{
            type: 'pie',

            data: [ <?php

while($row = mysql_fetch_array($getitemscount)){
echo "['";
echo $row['items'];
echo "',";
echo $row['item countt'];
echo "],";`}

?>
            ]
        }]

它在 IE9、chrome、Firefox 上运行良好。但在 IE8 上,由于['ThirdRowItem',6]的结尾,它不起作用,因为它说未定义的变量。

我在想是否有任何代码可以删除最后一个逗号(懒惰的方式)或任何其他方式来获取没有它的数据库数据?

先感谢您。

*********** 编辑 ****************

一个更好的方法在这里

4

2 回答 2

3

不要手动连接,而是使用json_encode()

$data = array();
while($row = mysql_fetch_array($GetCallDriversResultPie)) {
    $data[] = array($row['CallDriver'], (int)$row['Calls count']);
}

echo json_encode($data);
于 2013-03-10T21:22:07.857 回答
0

一种方法是将数据添加到变量中,并在处理来自 MySQL 的结果集后,使用 substr() 修剪到所需的长度(-1 个字符,最后一个逗号)。

series: [{
            type: 'pie',

            data: [ <?php

$result = '';
while($row = mysql_fetch_array($GetCallDriversResultPie))`{
    $results .= "['" . $row['CallDriver'] . "'," . $row['Calls count'] . "]," ;
}

echo ( substr( $results, 0, -1 ) ); // echo all of $results, except the last character

?>
            ]
        }]
于 2013-03-10T21:22:16.407 回答