Решил обновить версию php с 5.3 на 7.0 начал писать код с помощью PDO, во время написания возникла ошибка:
"Fatal error: Call to a member function fetchAll() on array in /home/ecnlua/public_html/sitenew/php/pagination.php on line 12"
Что-то связано с массивом. Если нужно избавится от setResultToArray(), то на что заменить?
<?php
include_once("db.php");
function getAllArticles($start, $limit) {
$db = new Database;
$result = $db->query("SELECT * FROM `news` ORDER BY `date` DESC LIMIT ".$start.", ".$limit);
return setResultToArray($result);
}
function setResultToArray($result) {
$array = array();
while ($row = $result->fetchAll()){
$array[] = $row;
}
// while ($row = mysql_fetch_assoc($result)) $array[] = $row;
return $array;
}
function countArticles() {
$db = new Database();
$reslut = $db->query("SELECT COUNT(`id`) FROM `news`");
$result = mysql_fetch_row($reslut);
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) {
// pagination
if ($page == 1) {
$pagination .= "<span>1Первая </span>";
$pagination .= "<span>1Предыдущая </span>";
}
else {
$pagination .= "<a href='index.php'>2Первая </a>";
if ($prev == 1) $pagination .= "<a href='index.php'>2Предыдущая </a>";
else $pagination .= "<a href='index.php?page=".$prev."'>21Предыдущая </a>";
}
for ($i = 1; $i <= $count_pages; $i++) {
if ($i == $page) $pagination .= "<span> ".$i." </span>";
elseif ($i == 1) $pagination .= "<a href='index.php'> ".$i." </a>";
else $pagination .= "<a href='index.php?page=".$i."'> ".$i." </a>";
}
if ($page == $count_pages) {
$pagination .= "<span> 3Следующая</span>";
$pagination .= "<span> 3Последняя</span>";
}
else {
$pagination .= "<a href='index.php?page=".$next."'> 4Следующая</a>";
$pagination .= "<a href='index.php?page=".$count_pages."'> 4Последняя</a>";
}
}
return $pagination;
}
?>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Не отправляется асинхронный запросСинхронные отправляются
В базе данных есть таблица