0

PostgreSQL データベースの SQL クエリから連想配列を読み取る際に問題に直面しています。

だからここに私のデータベースがあります:

ID | NAME | ....
1  | CARS | 
2  | BIKES| 
3  | TRAINS |

JSONこれで、クエリからデータを取得してモバイル デバイス用にエンコードする PHP スクリプトができました。

スクリプトは次のとおりです。

    $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 に答える