PHP脚本未正确索引PostgreSQL数组
我在从PostgreSQL数据库上的SQL查询中读取关联数组时遇到问题 这是我的数据库:PHP脚本未正确索引PostgreSQL数组,php,sql,arrays,postgresql,Php,Sql,Arrays,Postgresql,我在从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
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();
现在,我得到的结果显示为从文件输出中复制和粘贴(如下所示):
我可以清楚地看到,我的算法对记录进行索引是一种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();
如果将
$output[]
更改为$output
,会发生什么情况?@mavroprovato它在不使用[]
的情况下生产“汽车”、“自行车”、“火车”!我相信这就是我想要的,但它们是独立的价值观还是独立的价值观?我需要它们分开,因为我正在安卓设备上填充微调器!建议的第二个解决方案给出了结果[“汽车”、“自行车”、“火车”]
,这是一个数组中三个独立的值。干杯:)当然,祝你好运。我将编辑答案以突出显示所需的解决方案。
$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();