// количестов записей, выводимых на странице
$per_page=10;
// получаем номер страницы
if (isset($_GET['page'])) $page=(int)$_GET['page']; else $page=0;
// вычисляем первый оператор для LIMIT
$start=$page*$per_page;
// составляем запрос и выводим записи
// переменную $start используем, как нумератор записей.
$q="SELECT * FROM table WHERE field='value' ORDER BY field LIMIT $start,$per_page";
if (!$res=mysql_query($q)) {
die (mysql_error ());
}
while($row=mysql_fetch_array($res)) {
echo (++$start).". ".$row['field']."<br>\n";
}
// дальше выводим ссылки на страницы:
$q="SELECT count(*) FROM table WHERE field='value' ORDER BY field";
if (!$res=mysql_query($q)) {
die (mysql_error ());
}
$row=mysql_fetch_row($res);
$total_rows=$row[0];
$num_pages=ceil($total_rows/$per_page);
for($i=0;$i<$num_pages;$i++) {
if ($i == $page) {
echo ($i + 1).' ';
else {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.($i+1).'</a> ';
}
}