2016-04-18 2 views
-4
$query = mysql_query("SELECT * FROM tableName WHERE status='confirm' ORDER BY datetime DESC "); 
$invoice = mysql_fetch_assoc($query); 

Как эхо MySQL выборки данных, как в следующем:в то время как петля внутри массива

$data = array(
array("firstname" => "Mary", "lastname" => "Johnson", "age" => 25), 
array("firstname" => "Amanda", "lastname" => "Miller", "age" => 18), 
array("firstname" => "James", "lastname" => "Brown", "age" => 31), 
array("firstname" => "Patricia", "lastname" => "Williams", "age" => 7), 
array("firstname" => "Michael", "lastname" => "Davis", "age" => 43), 
array("firstname" => "Sarah", "lastname" => "Miller", "age" => 24), 
array("firstname" => "Patrick", "lastname" => "Miller", "age" => 27) 
); 
+0

Просто добавьте к нему новый subArray ?! '$ data [] = [" xy "=>" xy "];'. Не уверен, правильно ли понимаю ваш вопрос. – Rizier123

+0

Я не понимаю, ** Пожалуйста, объясните ** и извините мое невежество. –

+0

[Как задать хороший вопрос] (https://stackoverflow.com/help/how-to-ask) –

ответ

0

Вам необходимо перебирать результаты и добавить значения в массив данных:

$query = mysql_query("SELECT * FROM tableName WHERE status='confirm' ORDER BY datetime DESC "); 
$data = array(); 
while ($invoice = mysql_fetch_assoc($query)) { 
    $data[] = array(
    'firstname' => $invoice['firstname'], 
    'lastname' => $invoice['lastname'], 
    'age' => $invoice['age'], 
); 
} 

mysql_fetch_assoc($query) возвращает только одну строку, при условии, что она возвращает строку результатов (while), цикл запущен и добавляет значения в массив $data.

+2

Вы должны * объяснить * свой ответ. –

+0

Просто дай мне секунду. ;) – Paul

+2

Придумайте объяснение перед тем, как нажать «отправить» в следующий раз –

Смежные вопросы