highchart mysql json问题

时间:2014-10-10 00:44:13

标签: php mysql arrays json highcharts

我是jsonmysqlphp的新用户。我想将mysql数据库中的数据检索到json并将其发送到highcharts。

我有一些存储在不同表中的数据。

我想实现这个结果:

[[name1,value1],[name2,value2],...]

我在data.php文件中使用此代码:

$result = mysql_query("SELECT name, value FROM table1, table2");


$rows = array();
while($r = mysql_fetch_array($result)) {
$row[0] = $r[0];
$row[1] = $r[1];
array_push($rows,$row);
}

 print json_encode($rows, JSON_NUMERIC_CHECK);

此代码的输出结果如下:

[[name1,value1],[name2,value2],[name1,value2],[name2,value1],... ]  

所以不是让每个名字都有它的值,而是让每个名字都带有所有值。

我该如何解决这个问题?

编辑:

抱歉这里含糊不清:

     table 1            table 2 
name    other data  value   other data 
name 1  data 1      value 1    data 1
name 2  data 2      value 2    data 2
name 3  data 3      value 3    data 3
name 4  data 4      value 4    data 4
name 5  data 5      value 5    data 5
name 6  data 6      value 6    data 6
name 7  data 7      value 7    data 7
name 8  data 8      value 8    data 8
name 9  data 9      value 9    data 9
name 10 data 10     value 10    data 10
name 11 data 11     value 11    data 11
name 12 data 12     value 12    data 12
name 13 data 13     value 13    data 13


obtained json           desired json    

name 1  value 1         name 1  value 1
name 1  value 2         name 2  value 2
name 1  value 3         name 3  value 3
name 1  value 4         name 4  value 4
name 1  value 5         name 5  value 5
name 1  value 6         name 6  value 6
name 1  value 7         name 7  value 7
name 1  value 8         name 8  value 8
name 1  value 9         name 9  value 9
name 1  value 10        name 10 value 10
name 1  value 11        name 11 value 11
name 1  value 12        name 12 value 12
name 1  value 13        name 13 value 13
name 2  value 1             
name 2  value 2             
name 2  value 3             
name 2  value 4             
name 2  value 5             
  .       .
  .       .
name 13 value 13    

1 个答案:

答案 0 :(得分:2)

我假设你的代码是正确的,你在生产中输入它的方式。那么问题可能在于您的SQL查询(假设名称来自table1,值来自table2)

SELECT name, value FROM table1, table2

在上面的例子中,你根本没有加入它们。理想情况下,当您输出两个表时,您将在某个时刻加入它们:

e.g。

SELECT name , value FROM table1 , table2 WHERE table1.col1 = table2.col2