[{" section_name":" A""数据":[{"值":" 2&# 34;},{"值":" 0"}]},{" section_name":" B","数据":[{"价值":" 1"},{"价值":" 0"}]}]
在此我从数据库中检索"section_name","value"
。
这里的概念是从数据库中获取值,以显示基于类和部分的条形图。
但是我选择的模板,我必须得到各个部分的值(班级和部分的学生编号),如下面的条形图所示。
我的PHP代码:
$result1 = mysql_query("select class_name as label from class ") or die(mysql_error());
while($row1 = mysql_fetch_assoc($result1))
{
$rows1[] = $row1;
}
$data1 = json_encode($rows1);
$result2 = mysql_query("select s.section_name as sectionname, 'data' as data from section s") or die(mysql_error());
$result3 = mysql_query("select (select count(*)as c from student_status ss where ss.section_id=s.section_id and ss.class_id=c.class_id) as value from section s, class c order by s.section_name asc ") or die(mysql_error());
if(mysql_num_rows($result2) > 1)
{
while($row2 = mysql_fetch_assoc($result2))
{
$rows2[] = $row2;
}
$data2 = json_encode($rows2);
while($row3 = mysql_fetch_assoc($result3))
{
$rows3[] = $row3;
}
$data3 = json_encode($rows3);
}
我的JSON代码:
"categories": [
{
"category": <? echo $data1 ?>/*[
{
"label": "1"
},
{
"label": "TWO"
},
{
"label": "3"
}
]*/
}
],
"dataset": /*<? echo $data2 ?>*/[
{
"sectionname": "Section A",
"data": [
{
"value": "2" //class 1
},
{
"value": "1" //class 2
}
]
},
{
"sectionname": "Section B",
"data": [
{
"value": "" //class 1
},
{
"value": "" //class2
}
]
}
]
我在ajax中使用这个json 希望你们明白问题。 http://i.stack.imgur.com/mlfLJ.jpg
答案 0 :(得分:0)
你不能按照自己的方式行事。要生成有效的JSON字符串,可以编写以下代码:
$data = array( array('category'=>$data1), array('section'=>$data2), array('category'=>$data3) );
$json = json_encode( $data );
或者 - 如果您有更多$dataN
阵列 - 通过这种方式:
$data = array();
// Your first MySQL query here
$data[] = array( 'category' => $rows1 );
// Your second MySQL query here
$data[] = array( 'section' => $rows2 );
// (...)
$json = json_encode( $data );
mysql _ 语法在PHP 5.5.0中已弃用,已在PHP 7.0.0中删除。相反,应使用 MySQLi 或 PDO_MySQL 扩展程序。
(来自PHP官方网站)