由于我面临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] 的末尾,它不起作用,因为它表示未定义的变量。
如果有任何一段代码只删除最后一个逗号(懒惰的方式)或任何其他方式获取没有它的数据库数据,我在想什么?提前谢谢。
***********编辑****************
更好的方式HERE
答案 0 :(得分:3)
不要手动连接,而是使用json_encode()
代替:
$data = array();
while($row = mysql_fetch_array($GetCallDriversResultPie)) {
$data[] = array($row['CallDriver'], (int)$row['Calls count']);
}
echo json_encode($data);
答案 1 :(得分: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
?>
]
}]