0

postgres データベースにクエリを実行し、次のように名前と ID を取得しています。

$datesQuery = "SELECT date_ridden, id from dates WHERE user_id=$userId"; //query
$theDates = pg_query($db, $datesQuery); //execute query
$dates=array(); //want to use this array to have the key as id and value as date_ridden

ID をキー、date_ridden を値として $dates 配列を作成したいと考えています。

現在、私は次のことを行っています(これは私がやりたいことではありません):

while( $date = pg_fetch_row($theDates) ){
        $dates[]['value'] = $date[1]; //date id is value
        $dates[]['label'] = $date[0]; //date (in text form) is the label
}

これは本当に簡単なことだと思いますが、何らかの理由でそれを理解できません。

4

2 に答える 2

1

あなたが探しているループ構造は次のとおりだと思います。

while( $date = pg_fetch_row($theDates) ){
    $dates[$date[1]] = $date[0];
}

私が誤解した場合、現在の試みの問題は、 id と label を別の配列インデックスとして追加すること$datesです。

代わりにこれを試してください:

while( $date = pg_fetch_row($theDates) ){
    $dates[] = array('value' => $date[1],
                     'label' => $date[0]);
}

この例では、次のようなエントリにアクセスしますValue = $dates[0]['value'], Label = $dates[0]['label']

それらの1つが役立つことを願っています。

于 2012-06-05T18:05:04.013 に答える
0

あなたの求めていることが理解できれば、次のようになります。

while( $date = pg_fetch_row( $theDates ) ) {
    $dates[][$date[1]] = $date[0];
}

または、 $dates['some id'] にアクセスしたい場合は、

while( $date = pg_fetch_row( $theDates ) ) {
    $dates[$date[1]] = $date[0];
}
于 2012-06-05T18:05:31.817 に答える