За последние 24 часа нас посетили 34052 программиста и 1757 роботов. Сейчас ищут 1323 программиста ...

Интервал

Тема в разделе "PHP для новичков", создана пользователем -Vladimir-, 20 дек 2009.

  1. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    Этот скрипт выводит из текстового файла контент построчно (типа гостевой книги) и создаёт навигацию по страницам:
    PHP:
    1. <?
    2. $content="";
    3. $topage=20;//количество записей на страницу
    4. $page=$_GET['page'];
    5. if(!$page){$page=0;}
    6. $from=$page*$topage;
    7. $to=$from+$topage;
    8. $posts=file("text.txt");//файл-база,там хранится все, что нужно вывести
    9. $kolvo=count($posts);
    10.  
    11. // Надпись перед выводимым из базы контентом
    12. $content.='';
    13.  
    14. for($i=$from; $i<$to; $i++){
    15. if($posts[$i]){
    16. $content.= $posts[$i]."";//здесь меняете как хотите, это-вид каждой строки
    17. }
    18. }
    19. $pages=ceil($kolvo/$topage);
    20.  
    21.  
    22.  
    23. //Надпись после выводимого из базы контента
    24. $content.='';
    25.  
    26. for ($i=0; $i<$pages; $i++){
    27. if ($i!=$page)
    28. $content.= " [<a href='".$PHP_SELF."?page=".$i."'>".($i+1)."</a>] ";
    29. else $content.= $i+1;
    30. }
    31.  
    32. echo $content;
    33. ?>
    Как здесь можно указать интервал выводимых строк? Например, от 1 до 1000, или от 550 до 893.
     
  2. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    script.php?page=1...N

    см.стр 3-7, 14.
     
  3. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    На строке 8 - база, на 9 - подсчёт строк в базе (необходимо для создания навигации по страницам.
    Что сделать надо, чтобы скрипт выводил не всю базу, а только определённую её часть (например, от 501 до 1000) ?
     
  4. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    $from = 501;
    $to = 1000;

    И мне кажется лучше сессия.
     
  5. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    А нельзя ли что-то типа

    script.php?h=1&e=2153&home=501&end=520
    script.php?h=1&e=2153&home=521&end=540
    ...

    h и e - интервал в базе данных (на этой основе будет строиться навигация)
    home и end - с какой и по какую строки базы выводить на странице
     
  6. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    -Vladimir-