WEBYK WEBYK Індивідуальні OnLine уроки з web технологій
+38 093 766 39 11
oleggpann@gmail.com

Как просто писать пагинацию

Дорогие читатели - сегодня мы столкнулись с учеником с вопросом пагинации (выводом навигации записей) на сайте. Поскольку он еще относительно новичек и пишет свое первое приложение в рамках курса - то использует он только чистый php без фреймворков и дополнительных библиотек. И вот вопрос как же сделать пагинацию на чистом php?

Итак, мы использовали разделение на MVC его приложения и по этом подходе файлы нашей логики нахордятся в одной директории а внешний вид в другой

Устанавливаем в файле управления приложением Controllers.php
$limit = 2;// - лимит вывода статей на странице

Идем дальше:

В классе моделей создаем метод рассчета пагинации для всех случаев

function pagination($limit, $this_page_first_result){
  $result = mysqli_query($this->conn, "SELECT id FROM categories_item" );
  $pages = $result->num_rows / $limit;
  $pages = ceil($pages);
  $result_query = mysqli_query($this->conn, "SELECT * FROM categories_item ORDER BY id DESC LIMIT $this_page_first_result, $limit");
  $my_arr = array($pages, $result_query);
  return $my_arr;
  }

И в финале - вывод во внешний вид сформированной пагинации:

<ul class="pagination">
  <li><a href="<?php echo $slug;?>&start=<?php echo 0;?>"><<</a></li>
   
  <?php
   
  for ($i = 0; $i < $pagination[0]; $i++){
  ?>
   
  <li><a href="<?php echo $slug;?>&start=<?php echo $i*$limit;?>&last=<?php echo $limit ;?>"><?php echo $i+1;?></a></li>
  <?php
  $count_i = $i*$limit;
  }
  ?>
  <li><a href="<?php echo $slug;?>&start=<?php echo $count_i;?>&last=<?php echo $limit;?>">>></a></li>
  </ul>

 

-----------------------------------------------------------------------------

Якщо у вас виникли питання, вбо ви бажаєте записатися на індивідуальний урок, замовити статтю (інструкцію) або придбати відеоурок, пишіть нам на:
скайп: olegg.pann
telegram, viber - +380937663911
додавайтесь у телеграм-канал: t.me/webyk
email: oleggpann@gmail.com
ми у fb: www.facebook.com/webprograming24
Обов`язково оперативно відповімо на усі запитіння


Поділіться в соцмережах




facebook
×
Підришіться на цікаві пости.
Підписатись