mysql_fetch_assoc извлекает только одну запись

У меня есть массив с результатом запроса:

.....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?

6
задан VolkerK 27 August 2010 в 19:08
поделиться

2 ответа

$result = mysql_query("SELECT * FROM vttest");

$data = array();
while($row = mysql_fetch_assoc($result)){
    array_push($data, $row);
}
2
ответ дан 8 December 2019 в 13:43
поделиться

У вас почти получилось, вам нужно было использовать цикл, чтобы пройтись по результатам, чтобы получить каждую строку, и при этом назначить каждую строку таблице.

Следующее - это то, что вам нужно.

$result = mysql_query("SELECT * FROM vttest");
while($row = mysql_fetch_assoc($result)){
    $rows[] = $row;
}

Тогда все, что вам нужно сделать, чтобы получить доступ к этому массиву, это следующее.

foreach($rows as $index => $value){
    print_r($value);
}

Foreach будет печатать каждую строку в вашем массиве по одной за раз, позволяя вам сократить или использовать эти данные по своему усмотрению.

1
ответ дан 8 December 2019 в 13:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: