Постраничный вывод

Discussion in 'PHP' started by Dantark, 30 Dec 2009.

  1. Dantark

    Dantark New Member

    Joined:
    3 Nov 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Начал делать постраничный вывод и столкнулся спроблемой. Она заключается в том что я нуб))) Основной принцип - лимиты. А дальше сколько меня не направляли на мануалы по found_rows как создат страницы я непонял. Кто может мне как нубу обьяснить?
     
  2. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Что именно тебе не понятно?

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

    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>"
    ;
    }

    Код взял прямо из скрипта,поэтому сам разбирайся что куда.
     
    #2 -=Zhenek=-, 30 Dec 2009
    Last edited: 30 Dec 2009
  3. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    файлы:
    https://forum.antichat.ru/showpost.php?p=1748948&postcount=10
    бд:
    https://forum.antichat.ru/showpost.php?p=1739576&postcount=2
     
  4. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    И мое! =)
    Файлы:
    https://forum.antichat.ru/showpost.php?p=1748812&postcount=9
    Бд:
    https://forum.antichat.ru/showpost.php?p=1739660&postcount=3
     
    1 person likes this.
  5. Dantark

    Dantark New Member

    Joined:
    3 Nov 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    В данных примерах в адресной страке присутствует GET параметр page
    у меня же идет чистая страница somepage.php откуда параметр накопать?
     
  6. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    это и есть страница на которой находится пользователь. Номер страницы.
     
  7. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Ну а как ты себе представляешь навигацию по ссылкам? Если тебя смущает get параметры, то юзай post и ajax
     
  8. Dantark

    Dantark New Member

    Joined:
    3 Nov 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Да но когда он у мня чистый (в адресной http://somepage.php) и на нем лс, гостевая, новости.... не важно. $_GET['page'] по большей вероятности вернет ошибку
     
  9. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    давай код. я помогу. (тока сюда пости)
    желательно вместе с тем где у тебя разделение где выводится гостевая а где что
     
  10. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Если эта переменная нигде не используется, то никакой ошибки не будет. Попробуй код и смотри на ошибку
     
  11. Dantark

    Dantark New Member

    Joined:
    3 Nov 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Прежде чем привинчивать в работающую (пока что) гостевую код я хочу в нем разобраться... пока до моего пропитого мозга доходят лишь отголоски........ разделения в гостевой нет пока все единым while выводится на страницу. Ща скопипастю один из кодов посмотрим что выйдет
     
  12. Dantark

    Dantark New Member

    Joined:
    3 Nov 2009
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Дайте ктонить вашу аську я один не справлюсь :-/
     
  13. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Выложи полностью код файла somepage.php