Как узнать номер захода в таком цикле?

Патриот

Новичок
Как узнать номер захода в таком цикле?

PHP:
$q=mysql_query("SELECT * FROM `table`");
while($row=mysql_fetch_array($q))
{
   можно ли тут узнать номер [b]последнего[/b] захода?
}
суть задумки такая:
если первый заход, то: print"image1";
если не первый и не последний, то: print"image2";
если последний заход, то: print"image3";
-=-==-==-==-=-=--===-
иными словами этот цикл для простого меню, где для грамотного построения нужно подгружать разные картинки...
 
$q=mysql_query("SELECT * FROM `table`");
$cnt=0;
while($row=mysql_fetch_array($q))
{
$cnt++;
можно ли тут узнать номер последнего захода?
}
 
О! Пока обедал, дошло =) (как работает не проверял)
PHP:
$q=mysql_query("SELECT * FROM `table`"); 
$cnt=0;
$a=mysql_fetch_array($q);
$b=count($a);
while($row=mysql_fetch_array($q)) 
{ 
   if($cnt==0)
   {
     print "Первый";
   } else {
   if($cnt==$b)
   {
     print"Последний";
   }
             } else {
     print"Промежуточный";
   }

$cnt++;
}
 
имхо это ему поможет, а ещё один вопрос-можно?
:
как узнать время последнего прихода?



:D

серьёзно - заход - это кто?
с новым годом :)
 
vitus
это итерация.

Патриот
Все правильно, только можно короче
PHP:
while($row=mysql_fetch_array($q)) { 
   if($cnt++==0)  { 
     print "Первый"; 
   } elseif ($cnt==$b)    { 
     print"Последний"; 
   } else { 
     print"Промежуточный"; 
   } 
}
еще здесь проблема сравнения исправлена.
в твоем случае $c надо было начинать с единицы.

-~{}~ 30.12.04 18:31:

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

и к mysql все это не имеет никакого отношения.
 
Если я не ошибаюсь, нужно узнать, является ли ЗАПИСЬ последней, а не является ли ПОЛЕ последним.

Резюмируя Cid'а и AHTIXPICT'a, вариант такой:
PHP:
$q=mysql_query("SELECT * FROM `table`"); 
$cnt=0; 
$num_rows = mysql_num_rows($q)
while($row=mysql_fetch_array($q)) { 
   $cnt++;
   if($cnt==1)  { 
     print "Первый"; 
   } elseif ($cnt==$num_rows)    { 
     print"Последний"; 
   } else { 
     print"Промежуточный"; 
   } 
}
 
Wicked, спсибо что продублировал мой код.
Всегда приятно когда тебя копируют плагиаторы :-)
 
Да ладно прикидываться овечкой.
Я понимаю, всем хочется выглядеть умными, даже за чужой счет.
В твоем ответе хоть ошибок нет. Редкость на этом форуме. Уже радует.
 
Фанат, не обижайся, душка %) Я не думал, что тебя это так заденет )
 
Фанат по моему ты не прав .
В твоем коде неизвестно сколько строк вернул запрос.mysql_num_rows()
 
AHTIXPICT, это по мнению Фаната не самое главное )
Главное в коде - это ФОРМАТИРОВАНИЕ, пусть даже сам скрипт делает абсолютно другое! :)
 
Ох, ребятки, я забыл совсем.
Извините ради бога.
Я забыл совсем, что вы других считаете такими же слепыми, как сами.
Ну конечно же.
Я виноват.
Как можно приводить код без mysql_num_rows!
Все правильно. Ведь вы не читаете топики в которые отвечаете. И, конечно же, ответ Cid-а никто не видел.

Все правильно. Ведь ответ на форуме не должен показывать ПРИНЦИП, СТРУКТУРУ КОДА.
Ответ на форуме для даунов должен выглядеть только как законченный код. предназначенный для копирования.
простите еще раз.
 
дык - а я о чем.
противно, конечно.
Ну не учел, что до прочтения моего ответа надо прочесть еще твой и сидов. Что до этого додуматься могу только я, а остальным надо разжевывать.
 
Фанат, я просто хотел расставить все точки над "и", т.к. даже после постов Антихриста и Cid'а ты все еще продолжал уводить Патриота в сторону от правильного решения. Именно этим я руководствовался, когда писал свой первый пост в этом треде, а отнюдь не тем, чтобы поконфликтовать с кем-нибудь (читай "тобой").
 
Сверху