>我在PostgreSQL数据库上的SQL查询中读取关联数组时遇到问题。
所以这是我的数据库:
ID | NAME | ....
1 | CARS |
2 | BIKES|
3 | TRAINS |
现在我有一个PHP脚本,我想从该查询中获取一些数据并将其编码为移动设备的JSON
。
这是脚本:
$res = pg_query("SELECT * FROM projects");
/* FETCHES THE RESULT OF THE SQL QUERY WHICH GETS THE NAME OF EACH PROJECT */
while($row = pg_fetch_assoc($res))
{
$output[]=$row['name'];
print (json_encode($output));
} /* CONVERTED ON MOBILE PLATFORM */
pg_close();
现在,我得到的结果是从文件的输出中复制并粘贴的(如下所示):
["Cars"]["Cars","Bikes"]["Cars","Bikes","Trains"]
我可以清楚地看到我的算法正在索引记录是一种 1、1、2、1,2、3 的方式。有没有人对如何解决这个问题并获得此输出有任何建议:
["Cars"]["Bikes"]["Trains"]
你应该在
完全填充数组后在最后打印数组:
$res = pg_query("SELECT * FROM projects");
/* FETCHES THE RESULT OF THE SQL QUERY WHICH GETS THE NAME OF EACH PROJECT */
while($row = pg_fetch_assoc($res))
{
$output[]=$row['name'];
} /* CONVERTED ON MOBILE PLATFORM */
print (json_encode($output));
pg_close();
或者,如果需要单独输出 ,可以重新初始化 $output 数组。取决于你想要实现的目标:
$res = pg_query("SELECT * FROM projects");
/* FETCHES THE RESULT OF THE SQL QUERY WHICH GETS THE NAME OF EACH PROJECT */
while($row = pg_fetch_assoc($res))
{
$output = array();
$output[]=$row['name'];
print (json_encode($output));
} /* CONVERTED ON MOBILE PLATFORM */
pg_close();