Циклические результаты SQL в PHP - не получить весь массив - PullRequest
2 голосов
/ 11 февраля 2012

Я, вероятно, упускаю что-то простое, но я, кажется, здесь заблокирован ... У меня есть база данных MySQL с двумя таблицами, и каждая таблица имеет несколько строк.Итак, цель состоит в том, чтобы запросить базу данных и отобразить результаты в таблице, поэтому я начинаю так:

$query = "SELECT name, email, phone FROM users";

Тогда у меня есть этот код PHP:

$result = mysql_query($query);

Затем я использую это для получения массива:

$row = mysql_fetch_array($result);

В этот момент я подумал, что мог бы просто перебрать массив $row иотображать результаты в таблице.У меня уже есть функция для циклического отображения и отображения таблицы, но, к сожалению, массив кажется неполным, прежде чем он даже попадет в функцию.

Чтобы устранить эту проблему, я использую это:

for ($i = 0; $i < count($row); $i++) {
    echo $row[$i] . " ";
}

На данный момент я получаю только первую строку в базе данных, а есть еще 3, которые не отображаются.Любая помощь очень ценится.

Ответы [ 2 ]

14 голосов
/ 11 февраля 2012

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

while($row = mysql_fetch_array($result))
{
   // This will loop through each row, now use your loop here

}

Но хороший способ - перебирать каждую строку, так как у вас есть только три столбца

while($row = mysql_fetch_assoc($result))
{
   echo $row['name']." ";
   echo $row['email']." ";
}
4 голосов
/ 11 февраля 2012

Один из распространенных способов просмотра результатов - что-то вроде этого:

$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
    print_r($row);
    // do stuff with $row
}

Посмотрите примеры и комментарии на PHP.net.Там вы найдете все, что вам нужно знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...