Несколько операторов while - Как - PullRequest
1 голос
/ 08 августа 2011

У меня проблема с моим скриптом.

У меня есть это:

<?php
$r=mysql_query("SELECT * FROM memberships WHERE id!='".$userdata['membership']."'");

while($md = mysql_fetch_assoc($r)):
  echo '<td class="header">'.$md['name'].'</td>';
endwhile;
?>

Это работает.Но если дальше вниз по странице, я добавлю это:

<?php
while($md = mysql_fetch_assoc($r)):
  echo '<td class="result">'.$md['number_of_ads'].'</td>';
endwhile;
?>

Это ничего не выводит.Почему?

Ответы [ 3 ]

8 голосов
/ 08 августа 2011

Возможно, потому что больше нет элементов для извлечения. Не уверен, что вы пытаетесь выполнить, но если вы хотите получить данные обратно с самого начала, вам нужно добавить это перед вторым блоком кода:

mysql_data_seek($r, 0);

Это сбросит внутренний указатель на начало.

1 голос
/ 08 августа 2011

Функция fetch_association рисует строки из набора результатов.Первое время проходит по результирующему набору.Если вы хотите зациклить эти данные дважды, вам нужно сбросить данные.

1 голос
/ 08 августа 2011

После того, как вы извлекли все строки из $r, последовательный вызов к нему не вернет ни одной строки.

Так что, когда заканчивается первый цикл while, нет ничего, что можно было бы извлечь из результата запроса ввторой цикл

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