【发布时间】:2015-06-07 05:38:35
【问题描述】:
我有 php 代码和 sql 一起使用,以根据 EA 编号和 ID 编号从数据库中获取结果以绘制它们。
<?php
$sql=
("SELECT D as y,Total as a,PoweredOn as b
FROM MasterUsageTable
WHERE ID IN
(SELECT ID FROM MasterUsageTable
WHERE EA_Number = '$valueEA' AND D BETWEEN #$valueSDate# AND #$valueEDate#)");
$rs = odbc_exec($con, $sqlVMs);
if (!$rs) {
exit("Enter EA!");
}
$data = array();
while ($row = odbc_fetch_array($rs)){
$data[] = $row;
}
echo json_encode($data);
?>
目前我在 json 编码后得到结果的方式是这样的:
[{"y":"2015-03-26","a":"16","b":"14"},{"y":"2015-03-26 ","a":"59","b":"12"},{"y":"2015-03-26 ","a":"21","b":"5"},{"y":"2015-03-26 ","a":"35","b":"12"},{"y":"2015-03-26 ","a":"17","b":"2"}]
我希望有某种方法可以像这样将它们分开:
[{"y":"2015-03-26","a":"16","b":"14"},{"y":"2015-03-26 ","a":"59","b":"12"},{"y":"2015-03-26 ","a":"21","b":"5"}],[{"y":"2015-03-26 ","a":"35","b":"12"},{"y":"2015-03-26 ","a":"17","b":"2"}]
所以它是基于它的 ID 的多个数据数组。希望有道理,谢谢
【问题讨论】:
-
您的 SQL 返回一个“集合”,因此无法按照您的意愿对其进行编码 - 信息不存在。可以将 ID 添加到查询中,然后转换 json,但我没有足够的技能来帮助解决这个问题。检查相关问题 - 可能有一个关于在地图中嵌入地图的问题。
-
顺便说一句,您可以从 SQL 中删除
WHERE ID IN (SELECT ID FROM MasterUsageTable部分,它的工作原理相同。
标签: php sql json ms-access-2003