Вы будете смеяться, но не плачьте - постраничный вывод

Статус
В этой теме нельзя размещать новые ответы.

Zultrox

Guest
Вы будете смеяться, но не плачьте - постраничный вывод

Господа, не пинайте новичка...
Есть у меня скрипт, который делает постраничный вывод из БД.
Отлично работает и генерирует "листалку" формата "1|2 |3|4", с перемещением и подсветкой.
PHP:
<?php $links=1;
if(!isset($page) or empty($page) or $page<=0) {$page=1;}
else {$page=(int)$page;}
$page_for_query = $page-1;
$lpos = $page_for_query * $links;

@$result=mysql_query("select * from nomer order by id DESC");
$numsearch = mysql_num_rows($result);

$count_pages = ceil($numsearch / $links);

  if($count_pages>=2) 
  {echo"<center>Pages: <strong>";
      for($i=1; $i<=$count_pages; $i++)
      {
          if($page==$i and $i!=1) {echo " | $i";}
          elseif ($page==$i and $i==1) {echo "1";}
          elseif($i==1 and $page!=$i) {echo "<a href=\"$PHP_SELF?page=$i\">$i</a>";}
          elseif($i!=1 and $page!=$i) {echo " | <a href=\"$PHP_SELF?page=$i\">$i</a>";}
      }
  echo"</strong></center><br>";}
?>
Написан не мною...
Теперь понадобилось модифицировать его таким образом, что бы он считал в обратную сторону.

Что я имею в виду:
Допустим у нас есть архив новостей и в нём 4 новости.
При клике по архиву мы должны видеть листалку в обратном порядке, т.е.
4 |3|2|1|

Иными словами нужно просто развернуть нумерацию...
Перечитал кучу факов, задолбал яндекс, гугл и здешний поиск - результатов ноль...:(

Мануал тоже не помогает...

Есть подозрение что всё дело в $i++ , но эксперименты пока ни к чему не привели %)

Помогуте плиззз.

Заранее благодарен!
 

novachok

Guest
попробуй переделать условия for:

$i = $count_pages;
for($i; $i==1; $i--)
{
if($page==$i and $i!=1) {echo " | $i";}
elseif ($page==$i and $i==1) {echo "1";}
elseif($i==1 and $page!=$i) {echo "<a href=\"$PHP_SELF?page=$i\">$i</a>";}
elseif($i!=1 and $page!=$i) {echo " | <a href=\"$PHP_SELF?page=$i\">$i</a>";}
}
 

Zultrox

Guest
Автор оригинала: novachok
попробуй переделать условия for:

$i = $count_pages;
for($i; $i==1; $i--)
{
if($page==$i and $i!=1) {echo " | $i";}
elseif ($page==$i and $i==1) {echo "1";}
elseif($i==1 and $page!=$i) {echo "<a href=\"$PHP_SELF?page=$i\">$i</a>";}
elseif($i!=1 and $page!=$i) {echo " | <a href=\"$PHP_SELF?page=$i\">$i</a>";}
}
Попробовал - листалка перестала генериться...
 

bgm

&nbsp;
А если просто поменять условие цикла?

PHP:
for($i=$count_pages; $i>=1; $i--)
 

Zultrox

Guest
Автор оригинала: bgm
А если просто поменять условие цикла?

PHP:
for($i=$count_pages; $i>=1; $i--)
О! Спасибо! Истинна где-то рядом!:)
Обратный отсчёт появился, но сним вместе проблема:

По дефолту листалка выглядит как 4|3|2|1 %)
 

Фанат

oncle terrible
Команда форума
Топик закрыт, поскольку место его - в работе.

-~{}~ 12.05.05 20:01:

Не умеешь и не хочешь разобраться - плати деньги.
Здесь форум для общения программистов.
А богадельня - за углом.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху