Теперь буду делать построчную навигацию, как У ВАС В ПРИМЕРЕ!
Там все более менее понятно,кроме составления sql запроса.У меня выводятся данные вот таким простинким запросом
$post=mysql_query("SELECT * FROM `posts` ORDER BY id DESC LIMIT 6");
while ($arr=mysql_fetch_array($post))
{
echo '<b>'.$arr["name"].' в '.''.$arr["date"].' сказал:'.'</b>'.'<br/>'.'<i>'.bb_code($arr["text"]).'</i>'.'<br/>'.'<br/>';
}
тут у меня массив и поэтому мне понятно что такое $arr["name"] $arr["text"] $arr["date"].
Так вот теперь
$nums = 10;
if (isset($_GET['page'])) {
$page = intval($_GET['page']);
}
else {
$page = 1;
}
$query = "SELECT COUNT(*) AS `counter`
FROM `table`";
$sql = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($sql);
$elements = $row['counter'];
$pages = ceil($elements/$nums);
if ($page < 1) {
$page = 1;
}
elseif ($page > $pages) {
$page = $pages;
}
$start = ($page-1)*$nums;
// когда у нас в таблице нет записей
if ($start < 0) $start = 0;
$query = "SELECT *
FROM `table`
LIMIT {$start}, {$nums}";
$sql = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_assoc($sql)) {
// здесь выводим наши записи из базы
}
// далее нам надо прицепить листалку
$neighbours = 6;
$left_neighbour = $page - $neighbours;
if ($left_neighbour < 1) $left_neighbour = 1;
$right_neighbour = $page + $neighbours;
if ($right_neighbour > $pages) $right_neighbour = $pages;
if ($page > 1) {
print ' <a href="?page=1">начало</a> … <a href="?page=' . ($page-1) . '">←сюда</a> ';
}
for ($i=$left_neighbour; $i<=$right_neighbour; $i++) {
if ($i != $page) {
print ' <a href="?page=' . $i . '">' . $i . '</a> ';
}
else {
// выбранная страница
print ' <b>' . $i . '</b> ';
}
}
if ($page < $pages) {
print ' <a href="?page=' . ($page+1) . '">туда→</a> … <a href="?page=' . $pages . '">конец</a> ';
}
у вас тут…перейду в новый пост