2011-02-28 54 views
1

需要回到這樣一個數組例如:的foreach函數從MySQL數據庫創建陣列

array(30 => 'Mercedes Benz 310 ',26 => 'Lamborghini Murcielago') 

我有一個數據庫,建立了這樣的事情:

CREATE TABLE cars (
    id bigint(20) NOT NULL auto_increment, 
    `car_name` tinyint(2) NOT NULL default '0', 
    owner varchar(20) NOT NULL default '' 
    PRIMARY KEY (id) 
) ENGINE=MyISAM; 

id需要被array key

所以我嘗試使用foreach,但我仍然不完全明白它是如何工作的。

$q = "select `id`, `car_name` from `cars` where `owner`='$username'"; 
$result = $conn->query($q); 
unset($q); 

if(!$result){ 
    return array(0 => 'error'); 
} 

$garage = $result->fetch_assoc(); 
$car_id = $garage["id"]; 
$car_name = $garage["car_name"]; 



foreach($car_name as $key => $car_id){ 

    ... 

} 

回答

6

你並不遙遠。像這樣的東西應該會給你一種你想要的數組。

$q = "select `id`, `car_name` from `cars` where `owner`='$username'"; 
    $result = $conn->query($q); 
    unset($q); 

    if(!$result){ 
     return array(0 => 'error'); 
    } 

    while($row = mysql_fetch_array($result)){ 
     $garage[$row['id']] = $row['car_name']; 
    } 

return $garage; 
+0

+1我正要發表相同的:) – 2011-02-28 21:52:13