PHP - показывать количество страниц из БД

у меня проблемы со страницами .. Я использую этот код (что-то не так) Изображение - это то, что у меня есть сейчас Когда я нажимаю на следующую страницу (31), мне показывается «страница не существует»

if (!isset($_REQUEST['page']) || empty($_REQUEST['page'])) {
    $_REQUEST['page'] = 1;
}
$page = ceil($_REQUEST['page']);

                $limit = 14;
                $start = $limit;
                $end = $page*$limit-($limit);
                $query = CSA::getInstance()->sqli->query("SELECT COUNT(*) as `players` FROM `played_time`;");
                if ($query->num_rows > 0) {
                    $getlist = $query->fetch_assoc();
                }
                $pages = ceil($getlist['players']/$limit);
                $previous = ($page - 1 <= 0) ? "<li class='disabled'><a href='#'>&laquo; Prev</a></li>" : "<li><a href=\"./categories-".CSA::getInstance()->sqli->real_escape_string($_GET['id'])."-".($page-1)."\">&laquo; Prev</a></li>";
                $nextpage = ($page + 1 > $pages) ? "<li class='disabled'><a href='#'>Next &raquo;</a></li>" : "<li><a href=\"./categories-".CSA::getInstance()->sqli->real_escape_string($_GET['id'])."-".($page + 1)."\">Next &raquo;</a></li>";
                echo $previous;
                for($i=1;$i<=$pages;$i++) {
                    $href = ($page == $i) ? "<li><a href='#'>".$i."</a></li>" : "<li class='active'><a href=\"./categories-".CSA::getInstance()->sqli->real_escape_string($_GET['id'])."-".$i."\">".$i."</a></li>";
                    echo $href;
                }
                echo $nextpage;
                echo "</ul>
            </div>";

этот -($limit) мне кажется странным. также $getlist не может быть определен. пожалуйста, см. stackoverflow.com/help/mcve ... потому что, поскольку вопрос в настоящее время представлен, он не является ни полным, ни проверяемым. строка page not exists нигде в этом фрагменте не встречается. для улучшения читаемости: $db = CSA::getInstance()->sqli;

Martin Zeitler 30.12.2018 17:11

Спасибо за Ваш быстрый ответ! Я нашел этот учебник - phpfreaks.com/tutorial/basic-pagination, и теперь я отредактировал свой код следующим образом

Levin S. 30.12.2018 18:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
2
25
1

Ответы 1

        if (isset($_REQUEST['page']) || is_numeric($_GET['page'])) {
        $page = (int) $_GET['page'];
    }
    else $page = 1;

$range = 3;

                    $limit = 14;
                    $start = $limit;
                    $end = $page*$limit-($limit);
                    $query = CSA::getInstance()->sqli->query("SELECT COUNT(*) as `players` FROM `played_time`;");
                    if ($query->num_rows > 0) {
                        $getlist = $query->fetch_assoc();
                    }
                    $pages = ceil($getlist['players']/$limit);
                    $previous = ($page - 1 <= 0) ? "<li class='disabled'><a href='#'>&laquo; Prev</a></li>" : "<li><a href='{$_SERVER['PHP_SELF']}?page = ".($page-1)."'>&laquo; Prev</a></li>";
                    $nextpage = ($page + 1 > $pages) ? "<li class='disabled'><a href='#'>Next &raquo;</a></li>" : "<li><a href='{$_SERVER['PHP_SELF']}?page = ".($page+1)."'>Next &raquo;</a></li>";
                    echo $previous;

// if current page is greater than total pages...
if ($page > $pages) {
   // set current page to last page
   $page = $pages;
} // end if
// if current page is less than first page...
if ($page < 1) {
   // set current page to first page
   $page = 1;
} // end if

for ($x = ($page - $range); $x < (($page + $range) + 1); $x++) {
   // if it's a valid page number...
   if (($x > 0) && ($x <= $pages)) {
      // if we're on current page...
      if ($x == $page) {
         // 'highlight' it but don't make a link
         echo "<li class='active'><a href='{$_SERVER['PHP_SELF']}?page=$i'>$x</a></li>";
      // if not current page...
      } else {
         // make it a link
         echo "<li><a href='{$_SERVER['PHP_SELF']}?page=$x'>$x</a></li>";
      } // end else
   } // end if 
} // end for

Другие вопросы по теме