За последние 24 часа нас посетили 19497 программистов и 1605 роботов. Сейчас ищет 901 программист ...

Постоничная навигация

Тема в разделе "PHP для новичков", создана пользователем Noob1984, 27 сен 2013.

  1. Noob1984

    Noob1984 Новичок

    С нами с:
    27 сен 2013
    Сообщения:
    12
    Симпатии:
    0
    Уважаемы специалисты!
    Пытаюсь в который раз сделать навигацию на сайте, точнее в категориях сайта.

    Пытаюсь сформировать url ссылку такого формата
    Код (Text):
    1. http://site.ru/catalog/?page=2/
    в .htaccess включен модуль
    Код (Text):
    1. RewriteEngine on
    2. RewriteBase /
    Далее действую таким способом

    Код (Text):
    1. RewriteCond %{REQUEST_FILENAME} !-f
    2. RewriteCond %{REQUEST_FILENAME} !-d
    3. RewriteRule ^([a-zA-Z0-9_-]+)/$ templ/lay/pages/catalog.php?lurl=$1
    Осуществляю выборку с быза

    Код (Text):
    1. $pagination = 3;
    2.         if (empty($_GET['page']) || ($_GET['page']) <= 0)
    3.         {
    4.             $page = 1;
    5.         }
    6.             else
    7.         {
    8.             $page = (int)$_GET['page'];
    9.         }
    10.         $query = "SELECT * FROM `articles` WHERE `category_id`='" .$value['category_id']. "'";
    11.         $rowquery = mysqli_query($dbc, $query);
    12.         $cont = mysqli_num_rows($rowquery);
    13.         $page_comm = ceil ($cont / $pagination);
    14.         if (!$page_comm) $page_comm = 1;
    15.         if ($page > $page_comm) $page = $page_comm;
    16.         $start = ($page - 1) * $pagination;
    Далее передаю параметры выборки в функцию со статьями в которой прохожу в цикле и вывожу все статьи к данной категории, переменная $start, $pagination так же вставляю в запрос где определяю количество страниц которые будут выдоится на экран пользователю.

    Далее, пишу функцию для навигации:
    Код (Text):
    1. function pagination ($page, $page_comm, $value)
    2.         {
    3.  
    4.         /* ссылки навигации */
    5.         $back = ''; // ссылка назад
    6.         $forward = ''; // ссылка в перед
    7.         $startpage = ''; // ссылка в начало
    8.         $endpage = ''; // ссылка в конец
    9.         $page2left = ''; // вторая страница слева
    10.         $page1left = ''; // первая страница слева
    11.         $page2right = ''; // вторая страница справа
    12.         $page1right = ''; // первая страница справа
    13.  
    14.         // ссылка назад
    15.  
    16.         if($page > 1)
    17.         {
    18.             $back = "<a class='nav_link' href='/" .$value. "/?page=" .($page -1). "/'>&larr; Предыдущая</a>";
    19.         }
    20.         // ссылка в перед
    21.  
    22.         if($page < $page_comm)
    23.         {
    24.             $forward = "<a class='nav_link' href='/" .$value. "/?page=" .($page +1). "/'> Следующая &rarr;</a>";
    25.         }
    26.  
    27.         // ссылка в начало
    28.         if($page > 3)
    29.         {
    30.             $startpage = "<a class='nav_link' href='/" .$value. "/?page=1'>в начало</a>";
    31.         }
    32.  
    33.         // ссылка в конец
    34.         if($page < ($page_comm - 2))
    35.         {
    36.             $endpage = "<a class='nav_link' href='/" .$value. "/?page=" .($page_comm)."/'>Последняя</a>";
    37.         }
    38.  
    39.         // вторая страница слева
    40.         if($page  - 2 > 0)
    41.         {
    42.             $page2left = "<a class='nav_link' href='/" .$value. "/?page=" .($page - 2). "/'>" .($page - 2). "</a>";
    43.         }
    44.         // первая страница слева
    45.         if($page  - 1 > 0)
    46.         {
    47.             $page1left = "<a class='nav_link' href='/" .$value. "/?page=" .($page - 1). "/'>" .($page - 1). "</a>";
    48.         }
    49.         // вторая страница справа
    50.         if($page  + 2 <= $page_comm)
    51.         {
    52.             $page2right = "<a class='nav_link' href='/" .$value. "/?page=" .($page + 2). "/'>" .($page + 2). "</a>";
    53.         }
    54.         // первая страница справа
    55.         if($page  + 1 <= $page_comm){
    56.         $page1right = "<a class='nav_link' href='/" .$value. "/?page=" .($page + 1). "/'>" .($page + 1). "</a>";
    57.         }
    58.             echo $startpage.$back.$page2left.$page1left.'<a class="nav_active">' .$page. '</a>'.$page1right.$page2right.$forward.$endpage;
    59.         }
    вывожу результат работы функции в шаблоне с категориями

    Код (Text):
    1. echo '<center><div class="nav">';
    2.         if ($page_comm > 1) pagination ($page, $page_comm, $value['animalurl']);
    3.         echo '</div></center>';
    Получаю прекрасно все стать и навигацию, но не задача-не могу переходить по страничкам, не получаю Get я так предполагаю. В чем загвоздка помогите люди знающие и имеющие дело когда нибудь с Модулем RewriteEngine!
    Спасибо всем кто откликнется!