|
|
|
| Я сделал что-то вроде гостевой книги у себя на домашнем сайте, сообщения лепятся в правой части страницы в маленькой колоночке. Вообщем размер страницы неограниченно возрастает по мере накопления сиих сообщений. В связи с этим возникает вопрос -
Как ограничить (сделать фиксированной) длину страницы, и соответственно странички отдельные с накопленными сообщениями, как реализовать, мне только идею подскажите, я не прошу скрипт писать за меня. Или может я что-то не понимаю до конца во всем этом механизме с длиной страницы. | |
|
|
|
|
|
|
|
для: Alexhoppus
(20.08.2009 в 00:16)
| | Выводите некоторое число постов, прикрутите постраничную навигацию. Но это не обезопасит от того, что пользователь отправит вам одно пятидесятитысячизначное сообщение. Фиксированная длина в этом случае не получится. Здесь уже другой подход нужен. | |
|
|
|
|
|
|
|
для: Рома
(20.08.2009 в 00:33)
| | Так вот в том и проблема, что сообщения все разные по длине, мне нужно сделать длину страницы фиксированной иначе как быть? Я ставлю 10 сообщений на страницу, а мне присылают 10 по 10 строк и в результате страница уползает далеко вниз, если сделать ограничения на те, то могут прислать 10 по одной строке и в результате страница будет обновлена ещё будучи незаполненной | |
|
|
|
|
|
|
|
для: Alexhoppus
(20.08.2009 в 00:37)
| | Знаете, как раздел новостей организовывается? - если длина новости превышает лимит вывода, то новость урезается до ограниченного количества символов и выводится ссылка "подробнее". | |
|
|
|
|
|
|
|
для: Рома
(20.08.2009 в 00:42)
| | Это можно взять в основу, но все таки может можно фиксировать длину страницы как-то? Или я тогда уже буду строки считать в сообщениях, если эту проблему не решить по-другому. | |
|
|
|
|
|
|
|
для: Alexhoppus
(20.08.2009 в 00:46)
| | гостевая на файлах или на mysql ? | |
|
|
|
|
|
|
|
для: heed
(20.08.2009 в 01:08)
| | файлы, но если надо могу переделать, это не принципиально важно. | |
|
|
|
|
|
|
|
для: Alexhoppus
(20.08.2009 в 01:12)
| | впринципе можно при выборке файлов сообщений , наверное c помощью opendir() readdir() делаете, запрашивать размер файла и
считать общий размер выбранного, и останавливаться перед тем как сумма байт превысила порог.
Но тогда другая проблема , постраничная навигация.
Точное колличество страниц можно будет узнать только посчитав всё.
Пересчитывать хоть при каждой выборке, хоть при каждом добавлении, медленная операция.
Навигация с одной кнопкой дальше, тоже некрасиво,
(есть вариант сохранять в файле массив размеров , и считать по этому массиву при добавлении и сохранять где-то например там-же цифру будет быстрее)
ещё я-бы задумался над тем не сделать-ли прокрутку в html-блоке при превышении размера,
и можно слегка ограничив максимально разрешённую длинну сообщения, выводить по 15 вместо 10 , чтобы смотрелись короткие сообщения , которых наверное большинство
//upd
можно по подобию mysql создать файл с таблицей (строки разделённых табуляторами значений), лучше два
readdir будет почти совсем ненужна | |
|
|
|
|
|
|
|
для: heed
(20.08.2009 в 01:56)
| | Про прокрутку идея интересная! Думаю все таки лучше строки посчитать, чем две прокрутки делать прямо рядом, не смотрится как-то | |
|
|
|
|
|
|
|
для: Alexhoppus
(20.08.2009 в 01:12)
| | Принципиально! Переходите на базу данных - не пожалеете :) | |
|
|
|
|
|
|
|
для: Рома
(20.08.2009 в 02:48)
| | Я подумаю, спасибо, на для моих нехитрых манипуляций думаю пока файлов хватит. Я поставил себе задачу следующим образом - максимальное количество строк для странрицы известно и определено заранее, теперь вопрос как организовать конкретно перевод всех сообщений по страницам, и навигацию. | |
|
|
|
|
|
|
|
для: Alexhoppus
(20.08.2009 в 00:37)
| | По идее такая ситуация пугать не должна.
Вывод контента разного объема присутствует на страницах сплошь и рядом.
Пугает, наоборот, то, что здесь Вы - уже второй человек за последние два дня, который выворачивает проблему наизнанку, считая, что страницы должны быть строго одинаковыми по высоте. | |
|
|
|
|
|
|
|
для: Trianon
(20.08.2009 в 03:52)
| | >Вывод контента разного объема присутствует на страницах сплошь и рядом.
Я в этом и не сомневался, я сразу сказал, что возможно я в этом механизме, что-то не так понимаю.
Как можно это организовать грамотно, где прочитать об этом? | |
|
|
|
|
|
|
|
для: Alexhoppus
(20.08.2009 в 12:38)
| | грамотно, это обычная постраничная навигация с фиксированным количеством сообщений (например 20 на страницу) если это новости, то да можно брать небольшой кусок от основного текста, либо отдельно написанную краткую версию со ссылкой на полную новость. Если же это гостевая книга, то лично меня бы сильно обламывала ссылка подобного рода. Ненужна она тут. Достаточно хорошо оформленных с точки зрения эргономики и дизайна сообщений. Кстати в большинстве случаев текст сообщений в гостевой книге ограничивают (например до 200 символов), так что получить семидесятитысячесимвольное сообщение крайнемаловероятно. | |
|
|
|
|
|
|
|
для: Trianon
(20.08.2009 в 03:52)
| | в лучшем случае это обычное совпадение, в худшем - уже интересно откуда "ноги растут" | |
|
|
|
|
|
|
|
для: Valick
(20.08.2009 в 12:51)
| | Ноги у всех на месте, просто иногда логику надо донести до человека, чтобы он шел уже протоптанным путем ,а не изобретал колесо. | |
|
|
|