Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Постраничный вывод (https://forum.antichat.xyz/showthread.php?t=167160)

Dantark 30.12.2009 16:58

Постраничный вывод
 
Начал делать постраничный вывод и столкнулся спроблемой. Она заключается в том что я нуб))) Основной принцип - лимиты. А дальше сколько меня не направляли на мануалы по found_rows как создат страницы я непонял. Кто может мне как нубу обьяснить?

-=Zhenek=- 30.12.2009 17:23

Что именно тебе не понятно?

Вот пример зазберешься сам :

PHP код:

$recs_per_page "10"// количество объявлений на странице
////////////////////////////////////////
 
$sql="select count(*) as num_recs FROM data WHERE kat='$kat_id$add $bukva  ORDER by id DESC";

 
$rset mysql_query($sql);
if (
$rset) list($num_recs) = mysql_fetch_row($rset); 
else 
$num_recs 0;
if (
$num_recs 0) {
    if (isset(
$_GET['page']) && is_numeric($_GET['page'])) $page $_GET['page'];
    else 
$page 1;
    
    
$max_page ceil($num_recs $recs_per_page);
    if (
$page $max_page) die("out of page :)");
else {
        
$offset = ($page-1) * $recs_per_page;

$sqll="SELECT * FROM data WHERE kat='$kat_id$add $bukva  ORDER by id DESC  LIMIT $offset$recs_per_page ";

$rsett mysql_query($sqll);
    }
    
$num_rows mysql_num_rows($rsett);
    echo 
"<center><table border=0><tr><td>&nbsp;</td></tr></table>";

    if (
$num_rows 0) {
//***********
while($data=mysql_fetch_row($rsett)) {
list(
$k_id,$k_kat,$k_fio,$k_town,$k_phone,$k_mail,$k_poz,$k_url1,$k_url2,$k_rubrik,$k_poroda,$k_text,$k_avtor)=$data;
if (
$k_mail != "" ){$butt "  <INPUT class=em type=button onClick=\"window.open('$adress/send.php?id=$k_avtor','test1','directories=no,height=250,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no,width=350');\" value=Ответить name=button>";}else {$butt="";}
echo 
"
<TABLE width=100% border=0 cellspacing=0 cellpadding=0>
             <TR valign=top>
                      <TD colspan=2>
        
$ero </TD>
          </TR>     
                 <TR valign=top>
                      <TD colspan=2>
            <H3 class=b>
$k_poroda</H3>
            
$k_text          </TD>
          </TR>
          <TR>
           <TD colspan=2><I>Г.:
            
$k_town; Контакт:
            
$k_fio;
                        Сайт: <A href='
$k_url'>
            
$k_url</A>;
                                    Телефон:
            
$k_phone          </I>
           </TD>
          </TR>
                    <TR>
           <TD colspan=2><I>Добавлено: 10.05.2009 12:24</I></TD>
          </TR>
                    <TR>
           <TD colspan=2>
        
$butt
           </TD>
          </TR>
         </TABLE><br>
"
;

}
//***********    
    
}
$cat $_GET['cat'];
$rub $_GET['rub'];
if(
$rub == "") {$rub "all/";}else {$rub $rub"/";}
$page $_GET['page'];
if (
$page == "") {$page="1";}
$buk=$_GET['bukv'];
if (
$buk != "") {$buk="/".$buk;}
    echo 
"<hr>";
$maxp min($max_page$page 3);
   
$minp max(0$page 3);
   
   echo 
"<center>";
      if (
$_GET['page'] > "1") {
      
$odn 1;
   echo 
"<a href=$adress/kat/$cat/$rub"."1".$buk."> << На первую</a>&nbsp;&nbsp;&nbsp;";
   }
for (
$i $minp$i $maxp$i++) {
    echo 
"<a href=$adress/kat/$cat/$rub".($i+1)."$buk>";    If ($page == ($i+1)) {
    echo 
"<font color=black>[".($i+1)."]</font>";
    }else {
    echo 
$i+1;
}    
        echo
"</a>&nbsp;&nbsp;&nbsp;";
    }
      if (
$_GET['page'] != $max_page) {
   echo 
"<a href=$adress/kat/$cat/$rub$max_page$buk> На последнюю >></a>&nbsp;&nbsp;&nbsp;";
   }
    
}else {
echo 
"<TABLE width=100% border=0 cellspacing=0 cellpadding=0>
             <TR valign=top>
                      <TD colspan=2>
      <br><br> <center>Нет объявлений соответствующих вашим требованиям</center> </TD>
          </TR>  </table>"
;


Код взял прямо из скрипта,поэтому сам разбирайся что куда.

b3 30.12.2009 17:23

файлы:
https://forum.antichat.ru/showpost.php?p=1748948&postcount=10
бд:
https://forum.antichat.ru/showpost.php?p=1739576&postcount=2

LStr1ke 30.12.2009 17:39

И мое! =)
Файлы:
https://forum.antichat.ru/showpost.php?p=1748812&postcount=9
Бд:
https://forum.antichat.ru/showpost.php?p=1739660&postcount=3

Dantark 30.12.2009 18:07

В данных примерах в адресной страке присутствует GET параметр page
у меня же идет чистая страница somepage.php откуда параметр накопать?

-=Zhenek=- 30.12.2009 18:11

это и есть страница на которой находится пользователь. Номер страницы.

LStr1ke 30.12.2009 18:14

Цитата:

Сообщение от Dantark
В данных примерах в адресной страке присутствует GET параметр page
у меня же идет чистая страница somepage.php откуда параметр накопать?

Ну а как ты себе представляешь навигацию по ссылкам? Если тебя смущает get параметры, то юзай post и ajax

Dantark 30.12.2009 18:14

Да но когда он у мня чистый (в адресной http://somepage.php) и на нем лс, гостевая, новости.... не важно. $_GET['page'] по большей вероятности вернет ошибку

-=Zhenek=- 30.12.2009 18:17

давай код. я помогу. (тока сюда пости)
желательно вместе с тем где у тебя разделение где выводится гостевая а где что

LStr1ke 30.12.2009 18:18

Цитата:

Да но когда он у мня чистый (в адресной http://somepage.php) и на нем лс, гостевая, новости.... не важно. $_GET['page'] по большей вероятности вернет ошибку
Если эта переменная нигде не используется, то никакой ошибки не будет. Попробуй код и смотри на ошибку


Время: 10:56