2011-09-02 84 views
-1

我知道在關聯數組上有許多問題,但我沒有看到一個解釋了我必須如何從創建數據的方法中提取數據。假設我從數據庫的同一字段中選擇了多個記錄。來自多個數據庫記錄的php讀取和關聯數組

while ($Row = mysql_fetch_array($mySQLData)) 
    { 
    $assocarraydata[]= array('field1'=>$Row["field1"]); 
    }; 

我知道我能做到這一點使用索引是這樣的:

//Put Data into an regular array 
    while ($Row = mysql_fetch_array($mySQLData)) 
    { 
    $field1[] = $Row[field1]; 
    } 

    echo $field1[1]; 

但我不知道如何做到這一點在第一個例子中的關聯數組。有人可以幫忙嗎?

+2

我不確定我是否理解這個問題。你是否想要獲得一個表示數組($ field => $ value)形式的行的關聯數組?你有沒有試過[mysql_fetch_assoc()](http://www.php.net/manual/en/function.mysql-fetch-assoc.php)? –

+0

兩種方法都不準確。這兩個例子都沒有使用關聯數組,它們只是索引數組。 – ajreal

+0

'mysql_fetch_array()'既可以做'mysql_fetch_assoc()'和'mysql_fetch_row()'做的,那就是默認行爲。 – Narf

回答

1

很難搞清楚你問什麼,但如果問題是如何從第一個示例產生相同的結果,答案是:

// echo the value of field1 from the second (index 1) row of data 
echo $assocarraydata[1]['field1']; 
+0

所以我仍然需要一個索引 – T9b

0

你必須得到的指數數組 - 否則您將無法訪問不同的行。試想指標作爲行號:

while ($row = mysql_fetch_assoc($result)) 
    $array[] = $row; 

...然後你可以像這樣訪問您的數據:

$array[0]['field1'] - 第一排,列「字段1」 $array[5]['field5'] - 第六行,列' field5'

...等等