Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проблема с пагинацией

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nagibator
Отправлено: 16 Мая, 2013 - 11:37:56
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Янв. 2013  
Откуда: Новосибирск (Россия)


Помог: 1 раз(а)




Здравствуйте.
PHP:
скопировать код в буфер обмена
  1.  
  2. $count = $sql->query("SELECT `id` FROM `forum_cat`")->result();
  3. $st = 1;
  4. $count_page = ceil($count/$st);
  5. if (isset($_GET['page']) and !empty($_GET['page']) and is_numeric($_GET['page']) and $_GET['page']>1 and $_GET['page'] <= $count_page) {
  6.         $page = abs(intval($_GET['page']));
  7. } else {
  8.         $page = 1;
  9. }
  10. $start = $page*$st-$st;
  11. $query = mysqli_query($sql->db, "SELECT `name` FROM `forum_cat` ORDER BY `forum_cat`.`id` ASC LIMIT $start,$st");
  12. while ($res = mysqli_fetch_assoc($query)) {
  13. // ...
  14. }
  15. Core::navi($page, $count_page, '/forum/index.php?', null, null);
  16.  

Выводится 1 элемент из цикла на страницу, это как бы верно,
но почему-то не показывается пагинацию.
что я делаю не так?
вот сам код пагинации из класса Core

PHP:
скопировать код в буфер обмена
  1.  
  2. static function navi($page, $count_page, $link, $get, $nid) {
  3.                                 if ($count_page > 1) {
  4.                                         echo '<div class="komm1">';
  5.                                         if ($page-1 >= 1) {
  6.                                                 echo '<a href="'.$link.'page='.($page-1).'"><<<b>пред</b></a>';
  7.                                         } else {
  8.                                         }
  9.                                         if ($page>1 and $page+1<=$count_page) {
  10.                                                 echo '|';
  11.                                         }
  12.                                         if ($page+1 <= $count_page) {
  13.                                                 echo '<a href="'.$link.'page='.($page+1).'"><b>след</b>>></a>';
  14.                                         } else {
  15.                                         }
  16.                                         echo '<br />';
  17.                                         if ($page-2>=1)
  18.                                         echo '<a href="'.$link.'page=1">1</a>..';
  19.                                         for ($i=$page-1; $i<=$page+3; $i++) {
  20.                                                 if ($i>=1 and $i<=$count_page) {
  21.                                                         if ($i==$page)
  22.                                                         echo '<b>'.$page.'</b>';
  23.                                                         else
  24.                                                         echo '<a href="'.$link.'page='.$i.'">'.$i.'</a>';
  25.                                                         if ($i != $count_page)
  26.                                                         echo '..';
  27.                                                 }
  28.                                         }
  29.                                         if ($page+4 <= $count_page)
  30.                                         echo '<a href="'.$link.'page='.$count_page.'">'.$count_page.'</a>';
  31.                                         if ($count_page >= 5){
  32.                                                 echo '<form method="GET" action="'.$link.'">
  33.                                                 <input type="hidden" name="'.$get.'" value="'.$nid.'">
  34.                                                 Стр. <input type="text" name="page" size="2">
  35.                                                 <input type="submit" value=">>"></form>';
  36.                                         }
  37.                                         echo '</div>';
  38.                                 }
  39.                         }
  40.  

(Отредактировано автором: 16 Мая, 2013 - 18:45:33)

 
 Top
Dark-def
Отправлено: 16 Мая, 2013 - 12:41:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 169
Дата рег-ции: Дек. 2012  
Откуда: Украина, Запорожье


Помог: 1 раз(а)




Я правильно понял, что вы хотите получить кол-во страниц полученных в $count и выводить по одной записи на странице?


-----
while(true); - // И пусть весь мир подождет
 
 Top
nagibator
Отправлено: 16 Мая, 2013 - 12:54:17
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Янв. 2013  
Откуда: Новосибирск (Россия)


Помог: 1 раз(а)




Dark-def пишет:
Я правильно понял, что вы хотите получить кол-во страниц полученных в $count и выводить по одной записи на странице?

взависимости от значения переменной $st ))
$st - это кол-во элементов на страницу

(Отредактировано автором: 16 Мая, 2013 - 12:59:27)

 
 Top
Dark-def
Отправлено: 16 Мая, 2013 - 13:06:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 169
Дата рег-ции: Дек. 2012  
Откуда: Украина, Запорожье


Помог: 1 раз(а)




Сколько должно появится страниц? Сколько появилось? Ошибки?


-----
while(true); - // И пусть весь мир подождет
 
 Top
nagibator
Отправлено: 16 Мая, 2013 - 13:15:00
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Янв. 2013  
Откуда: Новосибирск (Россия)


Помог: 1 раз(а)




Dark-def пишет:
Сколько должно появится страниц? Сколько появилось? Ошибки?

должно появиться снизу 10 ссылок. это пагинация
в базе 11 элементов.
Выводится 1 элемент $st
но нет самой пагинации, по кторой я могу смотреть другой элемент из цикла.

(Отредактировано автором: 16 Мая, 2013 - 18:18:54)

 
 Top
Dark-def
Отправлено: 16 Мая, 2013 - 13:55:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 169
Дата рег-ции: Дек. 2012  
Откуда: Украина, Запорожье


Помог: 1 раз(а)




PHP:
скопировать код в буфер обмена
  1. $page = 1;
  2. $count_page = 10;
  3. $link = NULL;
  4. $get = NULL;
  5. $nid = NULL;
  6. function navi($page, $count_page, $link, $get, $nid)
  7. {
  8.         if ($count_page > 1)
  9.         {
  10.                 echo '<div class="komm1">';
  11.                 if ($page-1 >= 1) {
  12.                         echo '<a href="'.$link.'page='.($page-1).'"><<<b>пред</b></a>';
  13.                 } else {
  14.                 }
  15.                 if ($page>1 and $page+1<=$count_page) {
  16.                         echo '|';
  17.                 }
  18.                 if ($page+1 <= $count_page) {
  19.                         echo '<a href="'.$link.'page='.($page+1).'"><b>след</b>>></a>';
  20.                 } else {
  21.                 }
  22.                 echo '<br />';
  23.                 if ($page-2>=1)
  24.                 echo '<a href="'.$link.'page=1">1</a>..';
  25.                 for ($i=$page-1; $i<=$page+3; $i++) {
  26.                         if ($i>=1 and $i<=$count_page) {
  27.                                 if ($i==$page)
  28.                                 echo '<b>'.$page.'</b>';
  29.                                 else
  30.                                 echo '<a href="'.$link.'page='.$i.'">'.$i.'</a>';
  31.                                 if ($i != $count_page)
  32.                                 echo '..';
  33.                         }
  34.                 }
  35.                 if ($page+4 <= $count_page)
  36.                 echo '<a href="'.$link.'page='.$count_page.'">'.$count_page.'</a>';
  37.                 if ($count_page >= 5){
  38.                         echo '<form method="GET" action="'.$link.'">
  39.                        <input type="hidden" name="'.$get.'" value="'.$nid.'">
  40.                        Стр. <input type="text" name="page" size="2">
  41.                        <input type="submit" value=">>"></form>';
  42.                 }
  43.                 echo '</div>';
  44.         }
  45. }
  46. navi($page, $count_page, $link, $get, $nid);

данный код у меня работает.
На выводе имеем:
след>>
1..2..3..4..100
Стр. инпут, сабмит


-----
while(true); - // И пусть весь мир подождет
 
 Top
nagibator
Отправлено: 16 Мая, 2013 - 18:41:33
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Янв. 2013  
Откуда: Новосибирск (Россия)


Помог: 1 раз(а)




Dark-def пишет:
PHP:
скопировать код в буфер обмена
  1. $page = 1;
  2. $count_page = 10;
  3. $link = NULL;
  4. $get = NULL;
  5. $nid = NULL;
  6. function navi($page, $count_page, $link, $get, $nid)
  7. {
  8.         if ($count_page > 1)
  9.         {
  10.                 echo '<div class="komm1">';
  11.                 if ($page-1 >= 1) {
  12.                         echo '<a href="'.$link.'page='.($page-1).'"><<<b>пред</b></a>';
  13.                 } else {
  14.                 }
  15.                 if ($page>1 and $page+1<=$count_page) {
  16.                         echo '|';
  17.                 }
  18.                 if ($page+1 <= $count_page) {
  19.                         echo '<a href="'.$link.'page='.($page+1).'"><b>след</b>>></a>';
  20.                 } else {
  21.                 }
  22.                 echo '<br />';
  23.                 if ($page-2>=1)
  24.                 echo '<a href="'.$link.'page=1">1</a>..';
  25.                 for ($i=$page-1; $i<=$page+3; $i++) {
  26.                         if ($i>=1 and $i<=$count_page) {
  27.                                 if ($i==$page)
  28.                                 echo '<b>'.$page.'</b>';
  29.                                 else
  30.                                 echo '<a href="'.$link.'page='.$i.'">'.$i.'</a>';
  31.                                 if ($i != $count_page)
  32.                                 echo '..';
  33.                         }
  34.                 }
  35.                 if ($page+4 <= $count_page)
  36.                 echo '<a href="'.$link.'page='.$count_page.'">'.$count_page.'</a>';
  37.                 if ($count_page >= 5){
  38.                         echo '<form method="GET" action="'.$link.'">
  39.                        <input type="hidden" name="'.$get.'" value="'.$nid.'">
  40.                        Стр. <input type="text" name="page" size="2">
  41.                        <input type="submit" value=">>"></form>';
  42.                 }
  43.                 echo '</div>';
  44.         }
  45. }
  46. navi($page, $count_page, $link, $get, $nid);

данный код у меня работает.
На выводе имеем:
след>>
1..2..3..4..100
Стр. инпут, сабмит

у меня выводится как на скрине. не могу понять почему. думаю дело в LIMIT`е указанном в запросе.
(Добавление)
пробовал даже ставить другую пагинацию. всё так же ((
(Добавление)
всё. проблема решена Подмигивание
Прикреплено изображение (Нажмите для увеличения)
Безымянный.png
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB