Пагинация на сайте

G
На сайте с 24.11.2010
Offline
63
723

Второй день борюсь с пагинацией на сайте, информации толковой мало нахожу. :( Проблема в том, что все статьи выводятся на одной странице и сама пагинация выдает ошибку: Fatal error: Call to undefined function resultSetArray() in V:\home\blogv2.lv\www\models\function.php on line 6

Файл function.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
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">&laquo;</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">&raquo;</span>
</a>
</li>
</ul>
</nav>

Что с функцией resultSetArray не так?

Chkan
На сайте с 22.10.2008
Offline
104
#1

функция должна называться resultSetToArray

🤠 Разработка/сопровождение проектов на Python/Django (https://django.ws)
G
На сайте с 24.11.2010
Offline
63
#2

То-то я все никак не мог найти ее :D Спасибо!

Теперь появились эти ошибки:

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

Что ему тут не нравится?

Chkan
На сайте с 22.10.2008
Offline
104
#3

вместо echo $pagination($page, $limit); должно быть echo pagination($page, $limit); т.е. без знака доллара

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий