у меня проблемы со страницами .. Я использую этот код (что-то не так) Изображение - это то, что у меня есть сейчас Когда я нажимаю на следующую страницу (31), мне показывается «страница не существует»
if (!isset($_REQUEST['page']) || empty($_REQUEST['page'])) {
$_REQUEST['page'] = 1;
}
$page = ceil($_REQUEST['page']);
$limit = 14;
$start = $limit;
$end = $page*$limit-($limit);
$query = CSA::getInstance()->sqli->query("SELECT COUNT(*) as `players` FROM `played_time`;");
if ($query->num_rows > 0) {
$getlist = $query->fetch_assoc();
}
$pages = ceil($getlist['players']/$limit);
$previous = ($page - 1 <= 0) ? "<li class='disabled'><a href='#'>« Prev</a></li>" : "<li><a href=\"./categories-".CSA::getInstance()->sqli->real_escape_string($_GET['id'])."-".($page-1)."\">« Prev</a></li>";
$nextpage = ($page + 1 > $pages) ? "<li class='disabled'><a href='#'>Next »</a></li>" : "<li><a href=\"./categories-".CSA::getInstance()->sqli->real_escape_string($_GET['id'])."-".($page + 1)."\">Next »</a></li>";
echo $previous;
for($i=1;$i<=$pages;$i++) {
$href = ($page == $i) ? "<li><a href='#'>".$i."</a></li>" : "<li class='active'><a href=\"./categories-".CSA::getInstance()->sqli->real_escape_string($_GET['id'])."-".$i."\">".$i."</a></li>";
echo $href;
}
echo $nextpage;
echo "</ul>
</div>";
Спасибо за Ваш быстрый ответ! Я нашел этот учебник - phpfreaks.com/tutorial/basic-pagination, и теперь я отредактировал свой код следующим образом






if (isset($_REQUEST['page']) || is_numeric($_GET['page'])) {
$page = (int) $_GET['page'];
}
else $page = 1;
$range = 3;
$limit = 14;
$start = $limit;
$end = $page*$limit-($limit);
$query = CSA::getInstance()->sqli->query("SELECT COUNT(*) as `players` FROM `played_time`;");
if ($query->num_rows > 0) {
$getlist = $query->fetch_assoc();
}
$pages = ceil($getlist['players']/$limit);
$previous = ($page - 1 <= 0) ? "<li class='disabled'><a href='#'>« Prev</a></li>" : "<li><a href='{$_SERVER['PHP_SELF']}?page = ".($page-1)."'>« Prev</a></li>";
$nextpage = ($page + 1 > $pages) ? "<li class='disabled'><a href='#'>Next »</a></li>" : "<li><a href='{$_SERVER['PHP_SELF']}?page = ".($page+1)."'>Next »</a></li>";
echo $previous;
// if current page is greater than total pages...
if ($page > $pages) {
// set current page to last page
$page = $pages;
} // end if
// if current page is less than first page...
if ($page < 1) {
// set current page to first page
$page = 1;
} // end if
for ($x = ($page - $range); $x < (($page + $range) + 1); $x++) {
// if it's a valid page number...
if (($x > 0) && ($x <= $pages)) {
// if we're on current page...
if ($x == $page) {
// 'highlight' it but don't make a link
echo "<li class='active'><a href='{$_SERVER['PHP_SELF']}?page=$i'>$x</a></li>";
// if not current page...
} else {
// make it a link
echo "<li><a href='{$_SERVER['PHP_SELF']}?page=$x'>$x</a></li>";
} // end else
} // end if
} // end for
этот
-($limit)мне кажется странным. также$getlistне может быть определен. пожалуйста, см. stackoverflow.com/help/mcve ... потому что, поскольку вопрос в настоящее время представлен, он не является ни полным, ни проверяемым. строкаpage not existsнигде в этом фрагменте не встречается. для улучшения читаемости:$db = CSA::getInstance()->sqli;