За последние 24 часа нас посетили 31825 программистов и 1361 робот. Сейчас ищут 800 программистов ...

Ошибка в постраничной новостей на РНР

Тема в разделе "PHP для новичков", создана пользователем koctik, 9 сен 2013.

  1. koctik

    koctik Новичок

    С нами с:
    11 июл 2013
    Сообщения:
    2
    Симпатии:
    0
    Не правильно написан код только в некоторых строках, так как из 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)новости. А знак (*) делает умножение количества на все.
    Весьма буду признателен за все подсказки или советы.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    надо заменить на запрос с COUNT

    не к месту. читайте описание функции в документации.

    что делает эта строка?я не вкурил чета о_О
    Жесть какая

    =)

    Ты где вообще добыл это дело? Явно ж не сам писал. Понахватал неглядя из разных мест?