Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 09.09.2013, 19:58   #1 (ссылка)
Новичок
 
Регистрация: 04.12.2012
Сообщений: 4
Репутация: 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)новости. А знак (*) делает умножение количества на все.
Весьма буду признателен за все подсказки или советы.
koctik вне форума  
Старый 12.09.2013, 15:16   #2 (ссылка)
Новичок
 
Регистрация: 21.11.2009
Сообщений: 486
Репутация: 47
По умолчанию

koctik, попробуйте так:
Код:
$limit=10; //кол-во выводимых новостей на странице
$allnews=mysql_num_rows(mysql_query("SELECT id FROM tb_news")); //общее кол-во новостей 
if(isset($_GET['pg'])){
    $start = (($_GET['pg']*$limit)-$limit);
    }
    else{
        $start = 0;
        }
if(($start+$limit)>$allnews){
    $kolvo = $allnews-$start;
    }
    else{
        $kolvo = $limit;
        }
 
$sql="select * from tb_news order by id desc LIMIT $start,$kolvo";
sheff-09 вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отслеживаний новостей на сайте - программа funnycaptain Интернет и сети 0 20.12.2012 11:31
Ищу журналистов на сайт 10 новостей 30р a13-08 Работа 0 30.05.2012 15:45
Сайт новостей Apple SteveGReen Реклама, объявления 0 20.03.2012 16:48
PHP. Организация вывода новостей. Kamilla Gates Веб-строительство 1 15.07.2009 16:11
О добавлении новостей Антон Компьютерные новости 0 26.06.2007 13:24


Текущее время: 05:11. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.