Евгений Дмитрук
Интересующийся
Может найдется человек, который поможет разобраться почему не работает пагинация на сайте... Проблема в том, что все статьи выводятся на одной странице и сама пагинация выдает ошибку:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in V:\home\blogv2.lv\www\models\function.php on line 11
Fatal error: Function name must be a string in V:\home\blogv2.lv\www\views\navigation.php on line 11
Файл function.php
navigation.php
Выдает ошибку:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in V:\home\blogv2.lv\www\models\function.php on line 11
Fatal error: Function name must be a string in V:\home\blogv2.lv\www\views\navigation.php on line 11
Что с функцией resultSetArray не так?
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in V:\home\blogv2.lv\www\models\function.php on line 11
Fatal error: Function name must be a string in V:\home\blogv2.lv\www\views\navigation.php on line 11
Файл function.php
PHP:
<?php
require_once 'config.php';
function getALLArticles($start, $limit){
$result = mysql_query("SELECT * FROM 'articles' LIMIT ".$start.", ".$limit);
return resultSetArray($result);
}
function resultSetToArray($result){
$array = array();
while ($row = mysql_fetch_assoc($result)) $array[] = $row;
return $array;
}
function countArticles(){
$result = mysql_query("SELECT COUNT('id') FROM 'articles'");
$result = mysql_fetch_row($result);
return $result[0];
}
function getStart($page, $limit){
return $limit * ($page - 1);
}
function pagination($page, $limit){
$count_articles = countArticles();
$count_pages = ceil($count_articles / $limit);
if ($page > $count_pages) $page = count_pages;
$prev = $page - 1;
$next = $page + 1;
if ($prev < 1) $prev = 1;
if (next > $count_pages) $next = $count_pages;
$pagination = "";
if ($count_pages > 1){
if ($page == 1){
$pagination .= "<span>Первая<span>";
$pagination .= "<span>Предыдущая</span>";
}
else {
$pagination .= "<a href='index.php'>Первая</a>";
if ($pref == 1) $pagination .= "<a href='index.php'>Первая</a>";
else {
$pagination .= "<a href='index.php?page=".$prev."'>Предыдущая</a>";
}
for ($i = 1; $i <= $count_pages; $i++){
if ($i == 1) $pagination .= "<a href='index.php'>".$i."</a>";
elseif ($i == $page) $pagination .= "<span>".$i."</span>";
else $pagination .= "<a href='index.php?page=".$i."'>".$i."</a>";
}
if ($page == $count_pages){
$pagination .= "<span>Следующая</span>";
$pagination .= "<span>Последняя</span>";
}
else{
$pagination .= "<a href='index.php?page=".$next."'>Следующая</a>";
$pagination .= "<a href='index.php?page=".$count_page."'>Последняя</a>";
}
}
}
return $pagination;
}
?>
navigation.php
PHP:
<?php
require_once 'models/function.php';
// Навигация
$page = $_GET['page'];
if (($page < 1) or ($page == "")) $page = 1; // если page меньше 1 или равен строке, то выводим 1.
echo $page;
$limit = 5;
$start = getStart($page, $limit);
$articles = getAllArticles($start, $limit);
for ($i = 0; $i < count($articles); $i++) echo $articles [$i]["title"];
echo $pagination($page, $limit )
?>
<nav>
<ul class="pagination blog-pagination">
<li>
<a href="#" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li>
<a href="#" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
</ul>
</nav>
Выдает ошибку:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in V:\home\blogv2.lv\www\models\function.php on line 11
Fatal error: Function name must be a string in V:\home\blogv2.lv\www\views\navigation.php on line 11
Что с функцией resultSetArray не так?
Последнее редактирование: