Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 15.11.2008
Сообщений: 23

постраничная навигация

08.03.2009, 16:38. Показов 2480. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Знаю что задача типичная но вот пока что получилось. Скажите на правильном ли я пути и как дальше лучше делать. Мне нужно чтоб была навигация самая простая,как для новичка

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
$file=file("test.txt");
$total=count($file);//общее число строк
$pnumber=30;//строк на страницу
$number=ceil($total/$pnumber);//количество страниц
$f=fopen('test.txt','r');
 
    echo "<br>";
    
if(isset($_GET['page'])) $page=$_GET['page'];
else $page=1;
    
for($i=0;$i<floor(sizeof($file)/$number);$i++){
        $text=fgets($f,999);
        echo $text."<br>";
    }
 
fclose($f);
 
 
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.03.2009, 16:38
Ответы с готовыми решениями:

Постраничная навигация
Подскажите способы реализации постраничной навигации на php. Пример: Страница &quot;Пользователи&quot;: Главная &gt; Пользователи ...

Постраничная навигация
Дайте код робочей пост страничной навигаци(ну тоисть розделения даных из БД по станицах)Если можно обясните принцип роботы)Буду очень...

Постраничная навигация
Как реализовать ... я сделал свою БД но просто в ней запутался крандык .. Хочу сделать такую ссылку . localhost/film/komedy/pricol/ я...

4
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
08.03.2009, 17:56
вроде правильно, только вот зачем ты два раза один и тот же файл открываешь?
0
0 / 0 / 0
Регистрация: 15.11.2008
Сообщений: 23
09.03.2009, 00:09  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//текущая страница
if (isset($_GET['page']))  $page=$_GET['page'];
else 
    $page=1;
    
 
$file=file("test.txt");
$total=count($file);//число строк в файле
$pnumber=30;//строк на страницу
$number=ceil($total/$pnumber);//количество страниц
$f=fopen('test.txt','r');
 
    
$start=$page*$pnumber-30+1;//первая строка на странице    
for ($i=$start;$i<$start+30;$i++){
        $text=fgets($f,999);
        echo $text."<br>";
    }
 
fclose($f);
Вот при передаче $_GET не работает,выводит только первые 30 строк
0
 Аватар для Ceran
172 / 101 / 10
Регистрация: 22.02.2009
Сообщений: 440
09.03.2009, 00:43
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Прочитать файл
$array = file("test.txt");
// Общее количество строк
$count = count($array);
// Если строк больше 0
if($count>0)
  {
   // Вывесли общее количество строк
   echo"Всего строк: ".$count."<br />";
   // Если страница НЕ определена - вывести с первой. Если определена - использовать определённую
   if(!isset($_GET["page"])?$_GET["page"]=1:$_GET["page"]=(int)$_GET["page"]);
   // По сколько строк выводить на страницу
   $list = 10;
   // Количество строк (вместе с текущей)
   $j=($count-1)-(($_GET["page"]-1)*$list);
   // Количество оставшихся строк (без текущей)
   $i=$j-$list;
   // Вывести строки для выбранной страницы
   for(;$i<$j&&$j>=0;$j--)
      {
       // Рабить построчно
       $row=explode("/[\r]?\n/i",$array[$j]);
       // Сохранить разбитые данные из каждой строки
       list($text)=$row;
       // Вывести
       echo $text.".<br />";
      }
   // Количество страниц
   $all=ceil($count/$list);
   // Вывести навигацию
   for($i=1;$i<=$all;$i++)
      {
       // Выбранная страница - простой текст. Все остальные страницы - ссылки
       if($_GET["page"]==$i?$navigition=$i."¦":$navigition="<a href=http://".GETENV("HTTP_HOST").$_SERVER[PHP_SELF]."?page=".$i." title=\"Перейти на ".$i." страницу\">&nbsp;".$i."&nbsp;</a>¦");
       echo $navigition;
      }
  }
Выводит с конца файла в начало (то есть, последние строки будут первыми при выводе). Удобно, когда данные в файл будут периодически добавляться, не нужно париться с выводом последних по времени добавления, первыми при выводе файла. Например, для новостей или гостевой книги последняя новость или запись в гостевой будет первой при просмотре. Блин, не знаю как ещё объяснить. В общем посмотришь. Давным-давно для чего-то делал... Пользуйся.
1
0 / 0 / 0
Регистрация: 15.11.2008
Сообщений: 23
09.03.2009, 20:36  [ТС]
Спасибо, но и мой вариант уже заработал)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.03.2009, 20:36
Помогаю со студенческими работами здесь

Постраничная навигация с поиском по сайту
если у меня в постраничной навигации идет вывод по 5 заметок из базы,а в форме поиска ,например мне нужно найти заметки со словом html,а...

Выпадающий список в форме + постраничная навигация
Приветствую всех ! Прошу Вашей помощи. Форма и постраничная навигация в одном файле. Я пытаюсь написать скрипт для отображения...

Алфавитная навигация
Всем здравствуйте ! прошу помощи в доработке этого скрипта. Суть просьбы : 1. Нужно убрать дублирование выводимых букв. 2....

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

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru