Суть такая, есть пагинация для записей на главной странице, всё работает, но когда я переключаюсь на вывод записей только определённой категории и кликаю на ссылку в пагинации, то php выдаёт ошибку:
Warning: mysqli_fetch_all() expects parameter 1 to be mysqli_result, boolean given in D:\OpenServer\OSPanel\domains\testproject\testblog\ads\ads_category.php on line 19
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in D:\OpenServer\OSPanel\domains\testproject\testblog\ads\ads_category.php on line 22
То есть, получается что посты не вытягиваются из БД, вот я только немогу до конца понять почему так...
PHP-код:
<?php
//Вывод категорий в сайдбаре
$categories = get_category($connect);
//Получение ID категории и присвоение в переменную
$category_id = $_GET['id'];
//Вывод постов по категории
if(isset($_GET['page'])){
$page = (int)$_GET['page'];
} else {
$page = 1;
}
$notesOnPage = 3; //Количество выводимых записей
$from = ($page - 1) * $notesOnPage; //Перебор записей
//Запрос в БД
$category_id = mysqli_real_escape_string($connect, $category_id);
$sql = "SELECT * FROM posts WHERE category_id = ".$category_id." ORDER BY id DESC LIMIT $from, $notesOnPage";
$result = mysqli_query($connect, $sql);
$posts = mysqli_fetch_all($result, MYSQLI_ASSOC);
$sql = "SELECT COUNT(*) as count FROM posts WHERE category_id = ".$category_id;
$result = mysqli_query($connect, $sql);
$count = mysqli_fetch_assoc($result)['count'];
$pagesCount = ceil($count / $notesOnPage);
?>
HTML-код:
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center mb-4">
<?php for ($i = 1;$i <= $pagesCount; $i++){ ?>
<li class="page-item"><a class="page-link" href="?page=<?php echo $i ?>"><?php echo $i ?></a></li>
<?php } ?>