Как просто писать пагинацию
Дорогие читатели - сегодня мы столкнулись с учеником с вопросом пагинации (выводом навигации записей) на сайте. Поскольку он еще относительно новичек и пишет свое первое приложение в рамках курса - то использует он только чистый 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 Обов`язково оперативно відповімо на усі запитіння
Поділіться в соцмережах
Подобные статьи: