1

Тема: Постраничный вывод данных из Бд

Как сделать нормальный постраничный вывод данных из базы данных, тоесть чтобы данные делило на страницы...Кто-то знает такие скрипты ?) или функции

Мой блог - bebeka.pp.ua.
Цитатник - citaty.pp.ua.


2

Re: Постраничный вывод данных из Бд

Простейший вариант:

index.php?category=1&page=3&col=10

Скрипт

<?php
// статей на страницу 
$col = (!isset($col)) ? 10 : $col;
// номер страницы
$page = (!isset($page) || $page<=1) ? 1 : $page; 
$start = $col*($page-1);
// категория
$cat = (!isset($category)) ? "" : " WHERE catid=$category ";

$query = "SELECT * FROM pref_table $cat ORDER BY id desc LIMIT $start,$col;";
?>


3

Re: Постраничный вывод данных из Бд

sabotage пишет:

Простейший вариант
index.php?category=1&amp;page=3&amp;col=10
Скрипт
<?php
// статей на страницу
$col = (!isset($col)) ? 10 : $col;
// номер страницы
$page = (!isset($page) || $page<=1) ? 1 : $page;
$start = $col*($page-1);
// категория
$cat = (!isset($category)) ? "" : " WHERE catid=$category ";

$query = "SELECT * FROM pref_table $cat ORDER BY id desc LIMIT $start,$col;";
?>

А я немного по другому делал), но сейчас не об этом как сделать чтобы страницы воподились, тоесть:

1 2 3 4 5 6 7 8 ...


ну сколько их в базе данных всего?

Мой блог - bebeka.pp.ua.
Цитатник - citaty.pp.ua.


4

Re: Постраничный вывод данных из Бд

вот простейший скрипт организации пайджинга (сам написал:))


$kol_na_str - сколько элементов выводить на страницу
$query - запрос к базе данных на выбор страниц
$link - ссылка на страницу (обычно на текущую)
$db - объект для работы с базой данных

##################################
function paging($kol_na_str,$query,$link){
     global $ot, $db, $page_;   
        if(!isset($page_))$page_=1; $red=$page_;
               
        $res=$db->query($query);
        $num=$db->num_rows();       
        $paging.="<table align=\"center\"><tr><td class=paging>страницы: &nbsp;&nbsp;</td><td><table class=paging cellspacing=2><tr>";
        if($page_>5)$paging.="<td><a href=\"".$link."&ot=0&page_=1\"><<</a> ... </td>";
        if($page_>5)$page_=$page_-5;else $page_=1;
        $ot=$page_*$kol_na_str-$kol_na_str;
        $k=1;        
           
        while($k<10){       
        if($page_==$red){$paging.="<td>&nbsp;<a href=\"".$link."&ot=".$ot."&page_=$page_\"><font color=\"#ff0000\">".$page_."</font></a>&nbsp;</td>";}
        else{$paging.="<td>&nbsp;<a href=\"".$link."&ot=".$ot."&page_=$page_\">".$page_."</a>&nbsp;</td>";}       
        $ot=$ot+$kol_na_str;$page_++;$k++;
        if($ot>=$num){break;}
                     }                    
                
        if($num>($kol_na_str*10)){$end=$num-$kol_na_str;$page_=round($num/$kol_na_str,0); $paging.="<td>&nbsp;...&nbsp;<a href=\"".$link."&ot=$end&page_=$page_\" title=\"в конец\">>></a></td>";}
       
                       $paging.="</tr></table></td></tr></table>";
    return $paging;
    }

############### пример использования функции #################   
$kol_na_str=6;if(!isset($ot))$ot=0;
$db->query("select * from pages order by pid desc limit $ot, $kol_na_str");
while($row=$db->get_row()){
//вывод самих страниц

}   
   
echo paging($kol_na_str,"select * from pages","index.php");

#######################################################


код выдрал из своего рабочего скрипта, может он и не запустится у тебя сходу,
но главное это принцип его работы, как он устроен. Попробуй разобраться, я думаю это не будет проблемой.

Отредактировано egori4 (2009-02-16 21:37:32)

http://www.web-masteru.info - Статьи, программы, учебники, шаблоны - Всё для вебмастера.
http://2012over.ru - Мнения людей о конце света.


5

Re: Постраничный вывод данных из Бд

egori4 пишет:

вот простейший скрипт организации пайджинга (сам написал:))


$kol_na_str - сколько элементов выводить на страницу
$query - запрос к базе данных на выбор страниц
$link - ссылка на страницу (обычно на текущую)
$db - объект для работы с базой данных

##################################
function paging($kol_na_str,$query,$link){
     global $ot, $db, $page_;   
        if(!isset($page_))$page_=1; $red=$page_;
               
        $res=$db->query($query);
        $num=$db->num_rows();       
        $paging.="<table align=\"center\"><tr><td class=paging>страницы: &amp;nbsp;&amp;nbsp;</td><td><table class=paging cellspacing=2><tr>";
        if($page_>5)$paging.="<td><a href=\"".$link."&amp;ot=0&amp;page_=1\"><<</a> ... </td>";
        if($page_>5)$page_=$page_-5;else $page_=1;
        $ot=$page_*$kol_na_str-$kol_na_str;
        $k=1;         
           
        while($k<10){       
        if($page_==$red){$paging.="<td>&amp;nbsp;<a href=\"".$link."&amp;ot=".$ot."&amp;page_=$page_\"><font color=\"#ff0000\">".$page_."</font></a>&amp;nbsp;</td>";}
        else{$paging.="<td>&amp;nbsp;<a href=\"".$link."&amp;ot=".$ot."&amp;page_=$page_\">".$page_."</a>&amp;nbsp;</td>";}       
        $ot=$ot+$kol_na_str;$page_++;$k++;
        if($ot>=$num){break;}
                     }                     
                 
        if($num>($kol_na_str*10)){$end=$num-$kol_na_str;$page_=round($num/$kol_na_str,0); $paging.="<td>&amp;nbsp;...&amp;nbsp;<a href=\"".$link."&amp;ot=$end&amp;page_=$page_\" title=\"в конец\">>></a></td>";}
       
                       $paging.="</tr></table></td></tr></table>";
    return $paging;
    }############### пример использования функции #################   
$kol_na_str=6;if(!isset($ot))$ot=0;
$db->query("select * from pages order by pid desc limit $ot, $kol_na_str");
while($row=$db->get_row()){
//вывод самих страниц

}   
   
echo paging($kol_na_str,"select * from pages","index.php");
#######################################################


код выдрал из своего рабочего скрипта, может он и не запустится у тебя сходу,
но главное это принцип его работы, как он устроен. Попробуй разобраться, я думаю это не будет проблемой.

                        Отредактировано egori4 (Сегодня 22:37:32)

Спасибо.

Мой блог - bebeka.pp.ua.
Цитатник - citaty.pp.ua.


6

Re: Постраничный вывод данных из Бд

привет нужен скрипт, такой http://web-mastery.info/scripts/javascript-50.html  ограНИчивающий время на просмотр сайта или его страницы и переключающий на другую страницу
спасибо



7

Re: Постраничный вывод данных из Бд

palermo пишет:

привет нужен скрипт, такой http://web-mastery.info/scripts/javascript-50.html  ограНИчивающий время на просмотр сайта или его страницы и переключающий на другую страницу
спасибо

Зачем постить в разных темах? - это называеться СПАМ!

Мой блог - bebeka.pp.ua.
Цитатник - citaty.pp.ua.