Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Реинициализация массива или возврат указателя


Автор: od 28.1.2004, 17:09
Как решить проблему

$hot_result = mysql_query($hot_query) or die("Query failed");
$hot_row = mysql_fetch_assoc($hot_result);

do {
echo $hot_row['bla'].Да
} while ($hot_row = mysql_fetch_assoc($hot_result))

do {
echo $hot_row['bla'].Нет
} while ($hot_row = mysql_fetch_assoc($hot_result))

Во втором случае не выводится ничего - как можно решить ?
Либо заново инициализировать массив или вернуть указатель ?

Автор: MuToGeN 28.1.2004, 17:13
Повторить запрос перед вторым циклом.
Или через mysql_data_seek().

Автор: Secandr 28.1.2004, 17:32
А может лучше так:
Код
$hot_result = mysql_query($hot_query) or die("Query failed");

while ($hot_row = mysql_fetch_assoc($hot_result))
{
echo $hot_row['bla'].Да
}

$hot_result = mysql_query($hot_query) or die("Query failed");
while ($hot_row = mysql_fetch_assoc($hot_result))
{
echo $hot_row['bla'].Нет
}

Автор: MuToGeN 28.1.2004, 17:46
Тоже верно. В изначальном варианте одна итерация каждого цикла проходит с пустым $hot_row

Автор: Sardar 28.1.2004, 20:02
Я бы так сделал:
Код

$hot_result = mysql_query($hot_query) or die("Query failed");
while($hot_row = mysql_fetch_assoc($hot_result)) {
echo $hot_row['bla'].Да
$no[]=$hot_row['bla'].Нет
}
echo implode("",$no);

Писать меньше, но не по теме smile.gif.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)