За последние 24 часа нас посетили 62934 программиста и 1746 роботов. Сейчас ищут 787 программистов ...

Постраничная навигация и лимит ссылок

Тема в разделе "PHP для новичков", создана пользователем viphost, 16 апр 2012.

  1. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Как реализовать лимит ссылок на страницы, вот к примеру есть навигация
    Код (Text):
    1.       function pages($page){
    2.             $res = mysql_query("select count(*) from news");
    3.             $row = mysql_result($res,0);
    4.             $b = ceil(($row/$this->NEWS))  ; // выводим по столько записей на страницу
    5.             $x=1;
    6.             $pages = "" ;
    7.             // навигатор по страницам
    8.                  while ($b >= $x) {
    9.                     if ($x == $page) {
    10.                         $pages .= "<li>{$x}</li>" ;
    11.                     } else {
    12.                         $pages .= "<li><a href=\"/page/{$x}/\">{$x}</a></li>" ;  
    13.                     }    
    14.                 $x++ ;
    15.             }
    16.             return $pages;
    17.         }
    Выводит все страницы, а нужно скажем вывести только 3 ссылки и указать последнюю страницу
    Что бы было как то так
    [5] 6 [7] ... [100]
    6 - активная страница
     
  2. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Разобрался =)
    Может кому то и пригодится
    Код (Text):
    1. function pages($page, $number){
    2.             $res = mysql_query("select count(*) from news") ;
    3.             $row = mysql_result($res,0) ;
    4.             $b = ceil(($row/$number)) ;
    5.             $pages = "" ;
    6.             $x = $page - 2;
    7.             $next = $page + 4;
    8.                 while($x < $next and $b >= $x) {
    9.                     if($x > 0) {
    10.                         if ($x == $page) {
    11.                             $pages .= "{$x}" ;
    12.                         } else {
    13.                             $pages .= "<a href=\"/page//{$x}/\">{$x}</a>" ;
    14.                         }
    15.                     }
    16.                  ++$x;
    17.                }
    18.             return $pages ;
    19.         }