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

我想让我的 $dates 数组以 id 作为键,以 date_ridden 作为值。

目前我正在做以下事情(这不是我想做的):

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']

希望其中之一有所帮助。

于 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 回答