Функция foreach для создания массива из MySQL DB - PullRequest
1 голос
/ 01 марта 2011

нужно вернуть массив, например, такой:

 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 ){

    ...

}

1 Ответ

6 голосов
/ 01 марта 2011

Вы не за горами.Нечто подобное должно дать вам тот массив, который вы ищете.

    $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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...