删除PHP代码上最后输入的逗号

时间:2013-03-10 21:19:57

标签: php internet-explorer-8 cross-browser highcharts

由于我面临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

2 个答案:

答案 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

?>
            ]
        }]