while...endwhile; почему не выдаёт последнюю запись?

NiC

Буратино был тупой
while...endwhile; почему не выдаёт последнюю запись?

Всем привет.

Есть код:
PHP:
<?
$result = mysql_query("SELECT * FROM news ORDER BY id DESC");
        if ($array = mysql_fetch_object($result)):
            while ($array = mysql_fetch_object($result)):
                   echo $array->title.'<br>';
            endwhile;
        endif;
?>
В реальности, записей в базе 96. А показывает только 95.

Как показать все 96?
 

NiC

Буратино был тупой
А как тогда проверять, есть ли запись в базе?
Вдруг таблица пустая?
 

Tigr

Новичок
!!!! -> $array = mysql_fetch_object($result)) - получили ряд 1

while ($array = mysql_fetch_object($result)) получили ряд 2,3, ... которые и обрабатываем, но потеряли ряд 1

-~{}~ 21.05.04 12:38:

>>А как тогда проверять, есть ли запись в базе?
>>Вдруг таблица пустая?

тогда while не выполнится ни разу
 

NiC

Буратино был тупой
Это я уже понял, спасибо.
Но как оставить первый ряд?
 

Фанат

oncle terrible
Команда форума
только собачка ту лишняя

-~{}~ 21.05.04 13:47:

да и if целиком весь - тоже абсолютно лишний.
 

HEm

Сетевой бобер
Фанат
собачка потому что на пустой сет выдает нотис
а иф - в данном случае лишний, но вообще-то нормальные люди в таком случае пишут else { echo "База пуста!"; }
 

HEm

Сетевой бобер
щас не помню, но всегда ругался у меня

-~{}~ 21.05.04 14:40:

сделал
$query="SELECT * FROM table WHERE 1=2";
$result=mysql_query($query);
$rc = mysql_num_rows($result);

ок, признаю, что не ругается
(но что-то таки ж было! блин.... как выплывет снова это дело у меня, отпишу сюда)
 

Фанат

oncle terrible
Команда форума
ругаться могло на что угодно, но mysql_num_rows на 0 никак не может.
потому, что 0 - это вполне законное число
 

Tigr

Новичок
HEm, mysql_num_rows мог у тебя ругаться в том случае если не был возвращен рез. набор из-за ошибки в запросе, а, т.е. $result не содержит в этом случае то что надо, поэтому и ругается
------
ну и конечно не @ вешать надо, а проверять был ли выполнен коректно запрос (это пишу для NiC, поэтому фразы типа "умник", можно не писать)
 
Сверху