У меня есть массив с результатом запроса:
.....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?
$result = mysql_query("SELECT * FROM vttest");
$data = array();
while($row = mysql_fetch_assoc($result)){
array_push($data, $row);
}
У вас почти получилось, вам нужно было использовать цикл, чтобы пройтись по результатам, чтобы получить каждую строку, и при этом назначить каждую строку таблице.
Следующее - это то, что вам нужно.
$result = mysql_query("SELECT * FROM vttest");
while($row = mysql_fetch_assoc($result)){
$rows[] = $row;
}
Тогда все, что вам нужно сделать, чтобы получить доступ к этому массиву, это следующее.
foreach($rows as $index => $value){
print_r($value);
}
Foreach будет печатать каждую строку в вашем массиве по одной за раз, позволяя вам сократить или использовать эти данные по своему усмотрению.