Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Вывести определённые строки / 17 сообщений из 17, страница 1 из 1
21.05.2006, 16:57:59
    #33741080
Freddie_X
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
Очень нужна ваша помощь!
У меня есть такой скрипт:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php if(isset($_GET['page'])) $page = $_GET['page'];
else $page =  1 ;
$messonpage="5";
$file=file("records.txt");
$messcount=count($file);
$pagecount = (int)($messcount/$messonpage);
$start = (($page -  1 )*$pagecount +  1 );
$end = $page*$pagecount +  1 ;
for($i= 0 ;$i<$messcount;$i++){ 
$row=explode(':::',$file[$i]); //дальше идёт таблица, где выводятся данные ($row[ 0 ], $row[ 1 ], и т.д.) из файла ?>
Данный скрипт выводит все сообщения, что есть в файле.
Мне нужно, чтобы сообщения на страницах выводились в зависимости от значения переменной $page. К примеру, $page=2, тогда сообщения выведутся с 6-го по 10-ое .
Я предполагаю, что здесь надо каждую строку файла считать в отдельный элемент массива, а потом эти элементы разбить функцией explode();
Даже не знаю, как всё это сотворить!
Кто знает, помогите начинающему!
...
Рейтинг: 0 / 0
21.05.2006, 20:19:52
    #33741239
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
$start = (($page - 1)*$messonpage + 1);
$end = $start + $messonpage;
for($i=$start;$i<$end;$i++){
$row=explode(':::',$file[$i]);
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
21.05.2006, 20:23:20
    #33741242
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
только имхо, шестое сообщение будет с индексом 5.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
21.05.2006, 20:25:40
    #33741246
Freddie_X
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
maXmo$start = (($page - 1)*$messonpage + 1);
$end = $start + $messonpage;
for($i=$start;$i<$end;$i++){
$row=explode(':::',$file[$i]);
Это мен уже предлагали! Тогда пустая страница выходит!
Скажите мне пожалуйста, как мне каждую строку из файла вписать в отдельный элемент массива? Я попробую сам сделать! :)
...
Рейтинг: 0 / 0
21.05.2006, 20:32:28
    #33741252
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
может, он не распознаёт конец строки?
http://ru.php.net/manual/ru/ref.filesystem.php#ini.auto-detect-line-endings
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
21.05.2006, 20:36:05
    #33741256
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
а если так: $file=explode("\n",file_get_contents("records.txt"));
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
21.05.2006, 21:17:08
    #33741301
Freddie_X
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
Забудьте о том, чтобы использовать этот цикл, потому что под $row[0] и $row[1] и т.д. скрываются "Имя", "Дата" и т.д. соответственно! Поэтому нельзя изменять переменную $i в данном цикле. Вы мне лучше скажите, как строки загнать в массив?
...
Рейтинг: 0 / 0
22.05.2006, 10:18:50
    #33741757
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
авторВы мне лучше скажите, как строки загнать в массив?
Я не понимаю, о каких именно строках идет речь?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
22.05.2006, 10:54:29
    #33741892
Freddie_X
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
Я говорю о строках, взятых из файла.
Ну к примеру такие строки:
Код: plaintext
1.
2.
3.
Freddie_X::: 1 ::: 2 
Freddie::: 3 ::: 4 
Fred::: 5 ::: 6 
.......
Ну вот мне и надо каждую строчку вписать в массив, чтобы потом можно было вывести их на экран.
:)
...
Рейтинг: 0 / 0
22.05.2006, 10:56:35
    #33741904
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
А строка
Код: plaintext
$file=file("records.txt");
что делает?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
22.05.2006, 11:05:57
    #33741935
Freddie_X
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
Берёт данные из файла. Можно так записать:
Код: plaintext
$file = file_get_contents("records.txt");
Это разве не одно и тоже?
...
Рейтинг: 0 / 0
22.05.2006, 11:16:24
    #33741986
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
авторЭто разве не одно и тоже?
Прочтите ман и найдите 10 различий между функциями file() и file_get_contents() .
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
22.05.2006, 12:34:05
    #33742292
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
но ведь он писал $messcount=count($file); что автоматически подразумевает, что там не скалярная величина?????? А если это не работает, значит концы строк не распознаются??????
...
Рейтинг: 0 / 0
22.05.2006, 12:45:01
    #33742332
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
Я так понимаю, что тредстартер где-то взял код и теперь пытается понять, почему он не работает.
авторА если это не работает, значит концы строк не распознаются??????
Я думаю, что с концами строк все нормально, потому что тредстартер пишет:
авторДанный скрипт выводит все сообщения, что есть в файле.
проблема в том, что он не может понять, как выдавать на клиента текст порционно, т.е. речь идет о классической хадаче постраничного вывода.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
22.05.2006, 13:00:37
    #33742405
Freddie_X
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
авторПрочтите ман и найдите 10 различий между функциями file() и file_get_contents().
Спасибо, очень полезный мануал, я о нём и не знал. Вот посмотрите, что я сделал:
Код: plaintext
1.
2.
3.
4.
5.
<?php $file=file("guestbook/records.txt");
$messcount=count($file);
for($i= 0 ;$i<$messcount;$i++) {for($a= 0 ;$a< 5 ;$a++) {$file[$i]=explode(':::',$file[$a]);}
echo "Name:".$file[$i][ 0 ]."<br>";
echo "$file[$i][3]"; ?>
Но вместо того, чтобы выводились данные, на месте $file[$i][0] пишет: Array[0], а вместо $file[$i][3] - Array[3]! Какую ошибку я допустил?
...
Рейтинг: 0 / 0
22.05.2006, 13:10:44
    #33742469
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
так.... давай уточнять.
1) файл на строки разбили? разбили.
2) постраничный вывод сделали? сделали.
3) чего ещё надо?
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
22.05.2006, 13:19:46
    #33742505
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Вывести определённые строки
Freddie_X:::1:::2
Freddie:::3:::4
Fred:::5:::6
.......
или тебе нужно выводить, начиная с шестого сообщения из третьей строки?
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Вывести определённые строки / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]