Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Гостевая книга - ограничить количество сообщений на странице
 
 автор: Alexhoppus   (20.08.2009 в 00:16)   письмо автору
 
 

Я сделал что-то вроде гостевой книги у себя на домашнем сайте, сообщения лепятся в правой части страницы в маленькой колоночке. Вообщем размер страницы неограниченно возрастает по мере накопления сиих сообщений. В связи с этим возникает вопрос -
Как ограничить (сделать фиксированной) длину страницы, и соответственно странички отдельные с накопленными сообщениями, как реализовать, мне только идею подскажите, я не прошу скрипт писать за меня. Или может я что-то не понимаю до конца во всем этом механизме с длиной страницы.

  Ответить  
 
 автор: Рома   (20.08.2009 в 00:33)   письмо автору
 
   для: Alexhoppus   (20.08.2009 в 00:16)
 

Выводите некоторое число постов, прикрутите постраничную навигацию. Но это не обезопасит от того, что пользователь отправит вам одно пятидесятитысячизначное сообщение. Фиксированная длина в этом случае не получится. Здесь уже другой подход нужен.

  Ответить  
 
 автор: Alexhoppus   (20.08.2009 в 00:37)   письмо автору
 
   для: Рома   (20.08.2009 в 00:33)
 

Так вот в том и проблема, что сообщения все разные по длине, мне нужно сделать длину страницы фиксированной иначе как быть? Я ставлю 10 сообщений на страницу, а мне присылают 10 по 10 строк и в результате страница уползает далеко вниз, если сделать ограничения на те, то могут прислать 10 по одной строке и в результате страница будет обновлена ещё будучи незаполненной

  Ответить  
 
 автор: Рома   (20.08.2009 в 00:42)   письмо автору
 
   для: Alexhoppus   (20.08.2009 в 00:37)
 

Знаете, как раздел новостей организовывается? - если длина новости превышает лимит вывода, то новость урезается до ограниченного количества символов и выводится ссылка "подробнее".

  Ответить  
 
 автор: Alexhoppus   (20.08.2009 в 00:46)   письмо автору
 
   для: Рома   (20.08.2009 в 00:42)
 

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

  Ответить  
 
 автор: heed   (20.08.2009 в 01:08)   письмо автору
 
   для: Alexhoppus   (20.08.2009 в 00:46)
 

гостевая на файлах или на mysql ?

  Ответить  
 
 автор: Alexhoppus   (20.08.2009 в 01:12)   письмо автору
 
   для: heed   (20.08.2009 в 01:08)
 

файлы, но если надо могу переделать, это не принципиально важно.

  Ответить  
 
 автор: heed   (20.08.2009 в 01:56)   письмо автору
 
   для: Alexhoppus   (20.08.2009 в 01:12)
 

впринципе можно при выборке файлов сообщений , наверное c помощью opendir() readdir() делаете, запрашивать размер файла и
считать общий размер выбранного, и останавливаться перед тем как сумма байт превысила порог.
Но тогда другая проблема , постраничная навигация.
Точное колличество страниц можно будет узнать только посчитав всё.
Пересчитывать хоть при каждой выборке, хоть при каждом добавлении, медленная операция.
Навигация с одной кнопкой дальше, тоже некрасиво,
(есть вариант сохранять в файле массив размеров , и считать по этому массиву при добавлении и сохранять где-то например там-же цифру будет быстрее)

ещё я-бы задумался над тем не сделать-ли прокрутку в html-блоке при превышении размера,
и можно слегка ограничив максимально разрешённую длинну сообщения, выводить по 15 вместо 10 , чтобы смотрелись короткие сообщения , которых наверное большинство

//upd
можно по подобию mysql создать файл с таблицей (строки разделённых табуляторами значений), лучше два
readdir будет почти совсем ненужна

  Ответить  
 
 автор: Alexhoppus   (20.08.2009 в 03:00)   письмо автору
 
   для: heed   (20.08.2009 в 01:56)
 

Про прокрутку идея интересная! Думаю все таки лучше строки посчитать, чем две прокрутки делать прямо рядом, не смотрится как-то

  Ответить  
 
 автор: Рома   (20.08.2009 в 02:48)   письмо автору
 
   для: Alexhoppus   (20.08.2009 в 01:12)
 

Принципиально! Переходите на базу данных - не пожалеете :)

  Ответить  
 
 автор: Alexhoppus   (20.08.2009 в 03:01)   письмо автору
 
   для: Рома   (20.08.2009 в 02:48)
 

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

  Ответить  
 
 автор: Trianon   (20.08.2009 в 03:52)   письмо автору
 
   для: Alexhoppus   (20.08.2009 в 00:37)
 

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

  Ответить  
 
 автор: Alexhoppus   (20.08.2009 в 12:38)   письмо автору
 
   для: Trianon   (20.08.2009 в 03:52)
 

>Вывод контента разного объема присутствует на страницах сплошь и рядом.
Я в этом и не сомневался, я сразу сказал, что возможно я в этом механизме, что-то не так понимаю.
Как можно это организовать грамотно, где прочитать об этом?

  Ответить  
 
 автор: Valick   (20.08.2009 в 12:56)   письмо автору
 
   для: Alexhoppus   (20.08.2009 в 12:38)
 

грамотно, это обычная постраничная навигация с фиксированным количеством сообщений (например 20 на страницу) если это новости, то да можно брать небольшой кусок от основного текста, либо отдельно написанную краткую версию со ссылкой на полную новость. Если же это гостевая книга, то лично меня бы сильно обламывала ссылка подобного рода. Ненужна она тут. Достаточно хорошо оформленных с точки зрения эргономики и дизайна сообщений. Кстати в большинстве случаев текст сообщений в гостевой книге ограничивают (например до 200 символов), так что получить семидесятитысячесимвольное сообщение крайнемаловероятно.

  Ответить  
 
 автор: Valick   (20.08.2009 в 12:51)   письмо автору
 
   для: Trianon   (20.08.2009 в 03:52)
 

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

  Ответить  
 
 автор: Alexhoppus   (20.08.2009 в 15:16)   письмо автору
 
   для: Valick   (20.08.2009 в 12:51)
 

Ноги у всех на месте, просто иногда логику надо донести до человека, чтобы он шел уже протоптанным путем ,а не изобретал колесо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования