Баг в навигации.

1. TRAIL (22.03.2012 / 11:27)
Понадобилась простенькая навигация:
1 запись из базы на страницу, и ссылки, вперед-назад. Реализовал так
<?php
include "db_connect.php";
$page = $_GET['page'];
$query = $db -> query("SELECT * FROM users");
$num_page = mysqli_num_rows($query);
if($page > $num_page) $page = $num_page;
if($page < 1) $page = 1;
$query_obj = $db -> query("SELECT * FROM users ORDER BY id ASC LIMIT $page, 1");
while($sql = $query_obj -> fetch_assoc()) echo $sql['login'];
if($page != 1) echo '<a href="?page='.($page-1).'">назад</a> ';
if($page > 0 AND $page != $num_page) echo '<a href="?&page='.($page+1).'">вперёд</a> ';
?>
вот пример http://xletters.ru/test.php?page=1 , навигация работает на ура, но, в моем примере вывод 3 записей, и последняя запись ( http://xletters.ru/test.php?page=3 ) не выводится.

2. Павел (22.03.2012 / 12:44)
http://old.snippets.pp.ru/article/108
я этим классов уже пару лет пользуюсь, только переписал под себя.
попробуй его.

3. TRAIL (22.03.2012 / 12:49)
2. GingerBread, спасибо, но эта навигация мне не подходит

4. Павел (22.03.2012 / 13:14)
ну проверь так
<?php 
include "db_connect.php"; 
$page = (empty($_GET['page'])) ? 0 : abs(intval($_GET['page']));
$query = $db -> query("SELECT * FROM users"); 
$num_page = mysqli_num_rows($query)-1; 
if($page > $num_page) $page = $num_page; 
$query_obj = $db -> query("SELECT * FROM users ORDER BY id ASC LIMIT $page, 1"); 
while($sql = $query_obj -> fetch_assoc()) echo $sql['login']; 
if($page != 0) echo '<br /><a href="?page='.($page-1).'">назад</a> '; 
if($page != $num_page) echo '<br /><a href="?&page='.($page+1).'">вперёд</a> '; 

учитывать с 0.

5. TRAIL (22.03.2012 / 18:39)
4. GingerBread, спасибо, сделал http://xletters.ru/test.php . А то у меня навигация начиналась с 1 страницы

URL: https://visavi.net/topics/30710