Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Постраничный вывод, из файла 
:(
    Опции темы
sugee
Дата 29.7.2005, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: 1
Всего: 4



Хочу сделать в гостевой постраничный вывод только не знаю как это делается. Посоветуйте что нибудь!
PM MAIL   Вверх
Рыжий
Дата 29.7.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



в чем хранишь мессаги? База или файлы?

PS воспользуйся поиском - вроде этот вопрос уже задавали. smile
PM MAIL ICQ   Вверх
Mont
Дата 29.7.2005, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Vingrad developer
Сообщений: 274
Регистрация: 13.11.2004
Где: Altay

Репутация: 8
Всего: 12



Считываешь (из базы или из файла) нужное количество записей, начиная со стартовой и выводишь. Делаешь ссылки "назад" - "вперед", в которых указываешь номер страницы, а уже от номера страницы и определяешь стартовую позицию
Код

$Start=$ColPerPage*($Page-1);


в общих чертах smile


--------------------
"Если однажды Вдруг
Меня не окажется вовсе
в заповедной заветной тарелке
Твоего праведного сновидения
Знай - Неуловимые мстители настигли меня."
© Егор Летов
PM MAIL ICQ   Вверх
sugee
  Дата 29.7.2005, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: 1
Всего: 4



то есть для каждой страницы должен быть отдельный PHP-файл который ее выводит? А как бы это сделать более красиво...
PM MAIL   Вверх
Mont
Дата 29.7.2005, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Vingrad developer
Сообщений: 274
Регистрация: 13.11.2004
Где: Altay

Репутация: 8
Всего: 12



зачем отдельный?!? smile
все это в одном!

исходя из номера страницы считываешь нужное количество мессаг и выводишь, а ссылки "назад" - "вперед", чтоб по этим страницам передвигаться


--------------------
"Если однажды Вдруг
Меня не окажется вовсе
в заповедной заветной тарелке
Твоего праведного сновидения
Знай - Неуловимые мстители настигли меня."
© Егор Летов
PM MAIL ICQ   Вверх
Mal Hack
Дата 29.7.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



PM ICQ   Вверх
sugee
Дата 29.7.2005, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: 1
Всего: 4



Поиском начну пользоваться прямо сейчас но у меня тут одна мысль созрела, нужна совсем небольшая помощь.
Я переписал свою функцию вывода сообщений и по моим расчетам должен получиться постраничный вывод если из ссылки внизу вызвать рекурсивно эту функцию передав ей номер страницы в качестве параметра. Что должно стоять в теге <a href> на мете многоточия чтобы вызать функцию и передать ей параметр?

function show($page) {
global $f;
$kol=$page*10;
$messages=explode('\n',implode('\n',file($f)));
echo "<table border=1><tr><td><table border=0>";
for($i=($page-1)*10; $i<count($messages); $i++) {
if($i<$kol) {
$mess=explode("|",$messages[$i]);
list($date,$email,$name,$message)=$mess;
echo "<tr height=40><td background='BGF.jpg'><b>
<font color=#ffffff>Сообщение от ".$name." </font></b>
<br>&nbsp&nbsp<b>".$email."</b></td><td background='BGF.jpg'><b>".$date."</b></td></tr>
<tr><td width=100% height=100>".$message."</td></tr>";
}
}
echo "</table></td></tr></table><br>";
echo "<a href=gb.php?...>2</a>";
}
PM MAIL   Вверх
Mal Hack
Дата 29.7.2005, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



page=число.
PM ICQ   Вверх
sugee
Дата 30.7.2005, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: 1
Всего: 4



все получилось, осталась только одна проблема - нужно чтобы первая страница выводилась по умолчанию
я попробовал сделать так: function show($page=1)
но при первоначальной загрузке все равно выводится пустая гостевая
Для того чтобы вывести первую страницу нужно щелкнуть ссылку 1.

PM MAIL   Вверх
PARROT
Дата 30.7.2005, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

if(empty($page)){$page=1;}



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
cosmos33
Дата 8.8.2005, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


небывалый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.1.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Подскажите пожалуйста, как выделить страничку, на которой находишься в данный момент, при постраничном выводе сообщений??? smile
PM MAIL ICQ   Вверх
Mal Hack
Дата 8.8.2005, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



cosmos33
При выводе списка страниц делешь условие if( $page == $i - 1 ) подсвечиваешь, else - обычная ссылка.
PM ICQ   Вверх
cosmos33
Дата 8.8.2005, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


небывалый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.1.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Mal Hack Щас попробуем!
PM MAIL ICQ   Вверх
cosmos33
Дата 8.8.2005, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


небывалый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.1.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Код

<?
$res3=mysql_query("select count(art) from collection where cat='$cat'");
$num=mysql_fetch_row($res3);

$numstr=ceil($num[0]/5);
echo "<table><tr><td>Страницы: ($numstr)</td>";
for($i=1; $i<=$numstr; $i++){
        $start=($i-1)*5;
    if ($start==$s OR ($s==0 AND $i==1));
    print "<td><a href=collection.php?cat=$cat&s=$start>$i</a></td> ";
    if ($start==$s OR ($s==0 AND $i==1));
}
echo "</tr></table>";
?>


Mal Hack подскажи где тут чего?

Это сообщение отредактировал(а) cosmos33 - 8.8.2005, 17:18
PM MAIL ICQ   Вверх
Mal Hack
Дата 8.8.2005, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



cosmos33 я же логику объяснил, неужели так сложно самому подумать?

Код

    if ($start==$s OR ($s==0 AND $i==1));

Это что за условие-то?
И это что такое?
Код

 $start=($i-1)*5;

PM ICQ   Вверх
PARROT
Дата 8.8.2005, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Последнее условие тут ни к чему, оно просто лишнее.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
cosmos33
Дата 8.8.2005, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


небывалый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.1.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Убрал, только это не изменило цвет ссылки
PM MAIL ICQ   Вверх
Mal Hack
Дата 8.8.2005, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



cosmos33 ты в $s передаешь номер страницы или номер записи с которй начинается страница??

Цитата(Mal @ 8.8.2005, 17:45)
При выводе списка страниц делешь условие if( $page == $i - 1 ) подсвечиваешь, else - обычная ссылка.

Где это?
PM ICQ   Вверх
cosmos33
Дата 8.8.2005, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


небывалый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.1.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Мне этот скрипт дали, в нем сам черт ногу сломит, работает как-то.
Посмотри
Добавлено @ 17:45
Mal Hack
Ты же видишь мою "репу", что с меня взять?
PM MAIL ICQ   Вверх
PARROT
Дата 8.8.2005, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

$s //это номер страницы



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
cosmos33
Дата 8.8.2005, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


небывалый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.1.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



smile
Добавлено @ 18:09
Код

if($start==$s) $st="<a href=myguestbook.php?s=$start><font color=red>[$i]</font></a>";  else $st="<a href=myguestbook.php?s=$start><font color=blue>[$i]</font></a>";
        print "<td>".$st."</td> ";

может так?

Это сообщение отредактировал(а) cosmos33 - 8.8.2005, 18:06
PM MAIL ICQ   Вверх
PARROT
Дата 10.8.2005, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Вот решение твоей проблемы, только шрифт покрасить лучше в css, так не хорошо!
Работает.
Код

$res3=mysql_query("select count(id_reference) from reference");
$num=mysql_fetch_row($res3);
$numstr=ceil($num[0]/30);
echo "<tr><td colspan=2 align=center>Страницы: ($numstr)";
for($i=1; $i<=$numstr; $i++){
        $start=($i-1)*30;
        if ($start==$s OR ($s==0 AND $i==1))
$st="<a href=quest.php?s=$start><font color=red>[$i]</font></a>";  else $st="<a href=quest.php?s=$start><font color=blue>[$i]</font></a>";
        print "<td>".$st."</td> ";
}
?>
</tr>
</table>



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mont
Дата 10.8.2005, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Vingrad developer
Сообщений: 274
Регистрация: 13.11.2004
Где: Altay

Репутация: 8
Всего: 12



Думаю логичней будет вот так:
Код

$res3=mysql_query("select count(id_reference) from reference");    
$num=mysql_fetch_row($res3);    
$numstr=ceil($num[0]/30);    
echo "<tr><td colspan=2 align=center>Страницы: ($numstr)";    
for($i=1; $i<=$numstr; $i++){    

        if ($i==$s OR ($s==0 AND $i==1))    
$st="<a href=quest.php?s=$i><font color=red>[$i]</font></a>";  else $st="<a href=quest.php?s=$i><font color=blue>[$i]</font></a>";    
        print "<td>".$st."</td> ";    
}    
?>    
</tr>    
</table>

выражение
Код

$start=($i-1)*30;

на данном участке кода не нужно, оно нужно для создания начальной точки в LIMIT запроса из базы, но не при выводе номеров страниц (ИМХО конечно smile ).



--------------------
"Если однажды Вдруг
Меня не окажется вовсе
в заповедной заветной тарелке
Твоего праведного сновидения
Знай - Неуловимые мстители настигли меня."
© Егор Летов
PM MAIL ICQ   Вверх
PARROT
Дата 10.8.2005, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



В принципе и так тоже работает. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mont
Дата 11.8.2005, 06:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Vingrad developer
Сообщений: 274
Регистрация: 13.11.2004
Где: Altay

Репутация: 8
Всего: 12



Цитата(PARROT @ 10.8.2005, 19:17)
В принципе и так тоже работает. smile

конечно работает, но номера страниц передает не те smile


--------------------
"Если однажды Вдруг
Меня не окажется вовсе
в заповедной заветной тарелке
Твоего праведного сновидения
Знай - Неуловимые мстители настигли меня."
© Егор Летов
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0758 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.