Не правильно написан код только в некоторых строках, так как из 13 новостей на странице вывода всех их они выводятся понятно как десять последних, с 4- по 13 на первой странице, но после перехода на 2 постраничную отображается опять то же самое с 4-по 13, а правильно должно быть с 1- по 3. Код данного скрипта: $kolvo=10; //кол-во выводимых новостей на странице $allnews=mysql_num_rows(mysql_query("SELECT id FROM tb_news"));$allsqls++; //общее кол-во новостей $vsego=intval($allnews/$kolvo); $nowpage=intval($_GET["pg"]); if($nowpage=='') $nowpage=1; if($nowpage-1>$vsego) $nowpage=$vsego; if(!isset($_GET["pg"])) $nowpage=1; $gg=$vsego*$kolvo; if($gg<$allnews) { $vsego=$vsego+1; } $pages=$vsego/$kolvo; $pages1=floor($pages); $pg1=$kolvo*($nowpage-1); $pg2=$kolvo*$nowpage; if($nowpage==$vsego) { $pg1=0; $pg2=$kolvo; } if($pages>$pages1) { $pages=$pages1+1; } $sql="select * from tb_news order by id desc LIMIT $pg1,$pg2"; Ошибка находится в выделенном тексте кода, с применением переменной $pg2, в которой надо отобразить оставшиеся (3)новости. А знак (*) делает умножение количества на все. Весьма буду признателен за все подсказки или советы.
надо заменить на запрос с COUNT не к месту. читайте описание функции в документации. что делает эта строка?я не вкурил чета о_О Жесть какая =) Ты где вообще добыл это дело? Явно ж не сам писал. Понахватал неглядя из разных мест?