Loading...
Поиск скриптов | проблемы с пагинацией
Делаю на сайте пагинацию. Проблема в том что ничего не выводит вот код
php
   $k_post = $connect->query("SELECT COUNT(*) FROM `user`")->rowCount();    $k_page=k_page($k_post,$set['p_str']); $page=page($k_page); $start=$set['p_str']*$page-$set['p_str'];     $use = $connect->query("SELECT * FROM `user` ORDER BY `id` LIMIT $start, $set[p_str]");    $number = 1;    while($all = $use->fetch()){       echo "<div class = 'menu'><a href = 'users?id=".$all['id']."'>".$number.". ".nick($all['id'])."</a></div>";       $number++;    }   if ($k_page>1)str("?all_users&",$k_page,$page);   

________
посл. ред. 29.10.2019 в 13:10; всего 1 раз(а); by AdsNet
А дебаг для чего придумали Гг
https://media.proglib.io/wp-uploads/-000//1/xdebug-phpstorm-breakpoint.png
________
посл. ред. 29.10.2019 в 13:27; всего 1 раз(а); by System
есть такая штука как var_dump() и exit()
большинство ТС на форуме охренеют, но с их помощью можно решить любую проблему не создавав очередную бесполезную тему
класс пагинации для bootstrap
php
   class Pagination {     public $uri;     public $per_page;     public $total;     public $count_pages;     public $current_page;      public function __construct($per_page, $total)     {         $this->uri = $this->getParams();         $this->per_page = $per_page;         $this->total = $total;         $this->count_pages = $this->getCountPages();         $this->current_page = $this->getCurrentPage();     }      protected function getParams()     {         $url = $_SERVER['REQUEST_URI'];         $url = explode('?', $url);         $uri = $url[0] . '?';         if (isset($url[1]) && $url[1] != '') {             $params = explode('&', $url[1]);             foreach ($params as $param) {                 if (!preg_match("#page=#", $param)) $uri .= "{$param}&amp;";             }         }         return $uri;     }      public function getCountPages()     {         return ceil($this->total / $this->per_page) ?: 1;     }     // моя корректировка: если пользователь ввёл дичь вместо номера страницы или ввёл номер страницы, которого не может быть, то будет отправлен на ту, на которой он стал вводить дичь и в адресной строке не будет дичи     public function getCurrentPage()     {         if (isset($_GET['page'])) {             if (filter_var($_GET['page'], FILTER_VALIDATE_INT, ['options' => ['min_range' => 1, 'max_range' => $this->count_pages]])) {                 $_SESSION['page_before'] = $_GET['page'];                 return $_GET['page'];             }             header('location: ' . $this->uri . 'page=' . $_SESSION['page_before']);             exit();         }         return 1;     }      public function getStart()     {         return ($this->current_page - 1) * $this->per_page;     }      public function __toString()     {         return $this->getHtml();     }      public function getHtml()     {         $back = $forward = $start_page = $end_page = $page2left = $page1left = $page2right = $page1right = null;         if ($this->current_page > 1) {             $back = "<li class='page-item'><a class='page-link' href='{$this->uri}page=" . ($this->current_page - 1) . "'>&#8249;</a></li>";         }         if ($this->current_page < $this->count_pages) {             $forward = "<li class='page-item'><a class='page-link' href='{$this->uri}page=" . ($this->current_page + 1) . "'>&#8250;</a></li>";         }         if ($this->current_page > 3) {             $start_page = "<li class='page-item'><a class='page-link' href='{$this->uri}page=1'>&laquo;</a></li>";         }         if ($this->current_page < ($this->count_pages - 2)) {             $end_page = "<li class='page-item'><a class='page-link' href='{$this->uri}page={$this->count_pages}'>&raquo;</a></li>";         }         if ($this->current_page - 2 > 0) {             $page2left = "<li class='page-item'><a class='page-link' href='{$this->uri}page=" . ($this->current_page - 2) . "'>" . ($this->current_page - 2) . "</a></li>";         }         if ($this->current_page - 1 > 0) {             $page1left = "<li class='page-item'><a class='page-link' href='{$this->uri}page=" . ($this->current_page - 1) . "'>" . ($this->current_page - 1) . "</a></li>";         }         if ($this->current_page + 1 <= $this->count_pages) {             $page1right = "<li class='page-item'><a class='page-link' href='{$this->uri}page=" . ($this->current_page + 1) . "'>" . ($this->current_page + 1) . "</a></li>";         }         if ($this->current_page + 2 <= $this->count_pages) {             $page2right = "<li class='page-item'><a class='page-link' href='{$this->uri}page=" . ($this->current_page + 2) . "'>" . ($this->current_page + 2) . "</a></li>";         }         return '<nav class="mt-1"><ul class="pagination pagination-sm justify-content-center m-0">' . $start_page . $back . $page2left . $page1left . '<li class="page-item active"><a class="page-link">' . $this->current_page . '</a></li>' . $page1right . $page2right . $forward . $end_page . '</ul></nav>';     } }   
применение
php
   $per_page = 5; // сколько записей на странице $total = запрос на количество строк; $pagination = new Pagination($per_page, $total); $start = $pagination->getStart(); $data = запрос c limit $start, $per_page // кидаем переменные $data и $pagination в вид  // вывод пагинации <?php if ($pagination->count_pages > 1) : ?>     <?= $pagination ?> <?php endif; ?>   
вот так будет выглядеть

Изображение

------
67969_5d557257d9ba1452930130.png (148.0 Kb)
Скачиваний: 110

________
посл. ред. 29.10.2019 в 14:33; всего 1 раз(а); by Вероломство
P.s: Когда хром решил перевести страницу Гг

Изображение

------
67971_Screenshot_20191029_145612_com.android.chrome.jpg (441.7 Kb)
Скачиваний: 111
Вероломство , саму пагинацию не выводит
AdsNet (29.10.2019 в 14:59) Вероломство , саму пагинацию не выводит
php
   die(var_dump($use)); // разместить после запроса $use = ......   
Вероломство ,
object(PDOStatement)#4 (1) { ["queryString"]=> string(46) "SELECT * FROM `user` ORDER BY `id` LIMIT 0, 10" }
Онлайн: 0
Время:
Gen. 0.0869
(c) Bym.Guru 2010-2026