$num = 10;
$page = $_GET['page'];
$result00 = $pdo->prepare('SELECT COUNT(*) FROM post');
$result00->execute();
$temp = $result00->fetch(PDO::FETCH_LAZY);
$posts = $temp[0];
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$result0 = $pdo->prepare('SELECT * FROM post ORDER BY id DESC LIMIT '.$start.', '.$num.'');
$result0->execute();
while ($news = $result0->fetch(PDO::FETCH_LAZY)){
бла бла бла
}
if ($page != 1) $pervpage = '<a href=index.php?page='. ($page - 1) .'>← Сюда</a>';
if ($page != 1) $first = '<a href=index.php?page=1>Первая</a>';
if ($page != $total) $nextpage = '<a href=index.php?page='. ($page + 1) .'>Туда →</a>';
if ($page != $total) $last = '<a href=index.php?page='. $total .'>Последняя</a>';
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo '<div class="pages">Страница #'.$page.'</div>';
echo '<div class="page"><div class="page_left">'.$pervpage.'</div><div class="page_right">'.$nextpage.'</div></div>';
echo '<div class="first">'.$first.'</div><div class="last">'.$last.'</div>';
}
Страницы имеют адрес такого типа
index.php?page=2, но такой адрес не оч. красив. Можно как-то сделать например такой
site.com/page/2 ?