<? define('MAX_COUNT', 7); $page = intval($_GET['page']); $res = mysql_query('SELECT COUNT(*) from news'); $news_count = mysql_fetch_array($res); $p_num = ceil($news_count['COUNT(*)'] / MAX_COUNT); if ($page < 1 || $page > $p_num) { $page = 1; } if($_GET['page'] == 'last'){ $page = $p_num; } $query=mysql_query("select * from news order by id DESC LIMIT ".(($page - 1) * MAX_COUNT).", ".MAX_COUNT); ..тут идёт while(блаблабла) ...вывод новостей... print "<Br> <a href='index.php?module=news".$_GET['nid']."'><<</a> "; for ($i = 1; $i <= $p_num; $i++) { if ($page != $i) { print '<a href="index.php?module=news&page='.$i.'">'.$i.'</a> | '; } else { print '<span class=dark_red>'.$i.'</span> | '; } } print " <a href='index.php?module=news&page=last'>>></a>"; ?>
на практике он работает, но мне кажыцо что он всё-таки слишком большой, не поцкажыте аналог?