У меня есть массив с результатом запроса:
.....some code..... $result = mysql_query("SELECT * FROM vttest"); $row = mysql_fetch_assoc($result); print_r($row);
Но он печатает только одну запись, я не могу поместить $ row в цикл, потому что позже буду работать над сортировкой этой переменной.
Array ( [id] => 3 [rep] => Mike [name] => Joe [department] => Business [location] => Room 1 [email] => xxxx@hotmail.com [phone] => 519-123-4567 [type] => Visit [drink] => Coffee [notes] => Some notes [lastVisited] => 2010-08-27 [nextVisit] => 2010-08-27 )
Я знаю, что есть больше записей, чем это, как я могу напечатать все это, все еще имея возможность работать с переменной $ row?
Вы фактически получаете одну запись, потому что вам нужно использовать цикл для получения всех записей.
$my_arary = array(); while($row = mysql_fetch_assoc($result)){ $my_arary[] = $row; print_r($row); }
Как вы сказали, позже вы можете использовать $my_arary
чтобы делать все, что вам нравится.
$result = mysql_query("SELECT * FROM vttest"); $data = array(); while($row = mysql_fetch_assoc($result)){ array_push($data, $row); }
Вам нужно поставить его в петлю. И затем, если вам нужно будет работать с этой переменной позже, используйте mysql_data_Seek
для сброса внутреннего указателя результата:
mysql_data_seek($result, 0); // your later code.
У вас это было почти так, вам нужно было использовать цикл, чтобы получить результаты, чтобы получить каждую строку, и, как вы это делаете, назначьте каждую строку таблице.
Следующее – это то, что вы ищете.
$result = mysql_query("SELECT * FROM vttest"); while($row = mysql_fetch_assoc($result)){ $rows[] = $row; }
Затем все, что вам нужно сделать, чтобы получить доступ к этому массиву, следующее.
foreach($rows as $index => $value){ print_r($value); }
Foreach будет печатать каждую строку в вашем массиве по одному, позволяя вам сокращать или использовать эти данные по вашему желанию.