0

我在从我的 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"]
4

1 回答 1

1

在完全填充后,您应该只在最后打印数组:

$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(); 
于 2013-10-21T11:59:41.897 回答