Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Выдача по одной странице с сервера |
Автор: haspint 27.4.2008, 09:37 |
Как написать скрипт, чтоб он выдавал по одной странице (как в поисковых системах). Опишите принцип работы. Если можно ссылочки где почитать по теме |
Автор: arto 27.4.2008, 10:48 |
по одной странице чего? |
Автор: haspint 27.4.2008, 11:32 |
1: Делаю запрос к базе данных 2: Она Возвращает определенный результат(их много) 3: Каждый результат вывести на одной странице 4: переход на следующую страницу осуществляется по ссылке Так понятно, что я имею в виду? |
Автор: nitr 27.4.2008, 12:43 |
О как! Вроде как обсуждали такое. Способов как всегда предостаточно, даже есть готовые модули! Считаем сколько у нас записей (max), выводим к примеру по 100, значит max / 100 = pages, далее запросами и выводим (page - текущая) с (page-1)*100 по page*100. Имхо один из простейших алгоритмов. |
Автор: arto 27.4.2008, 12:52 |
хм. а какая проблема? выводите результат. в ссылке ставите признак, что результат уже просмотрен (например, порядковый номер). при обработке ссылки учитываете признак. |
Автор: haspint 27.4.2008, 17:55 |
не пойму где хранить данные после получения результата запроса, как ето сделать? |
Автор: tolkien 27.4.2008, 18:50 |
1 Способ Сразу генерте n-го кол страниц. Если их немного то можно все. Обработали запрос. В ответе 1000 ссылок. На страницу вывводите по 100 ссылок. Значит создаете 10 страниц html по 100 ссылок в каждой. 2 Способ Каждый раз обращаться к базе данных. Обработали запрос. В ответе 1000 ссылок. На страницу выводите по 100 ссылок. Из запроса берете первые 100 ссыллок. Если mysql есть спец конструкция для этого LIMIT n,m (где n - номер начала строки, m - количество возвращаемых строк). Пример: SELECT caption, descr FROM books WHERE caption = ? LIMIT= beg_num, 100 |
Автор: haspint 27.4.2008, 19:56 |
Если воспользоваться первым способом то как узнать, что пользователь допустим закрыл страницу и ему ети данные больше не нужны, чтобы удалить ети страницы? |
Автор: tolkien 27.4.2008, 20:42 |
1-ый способ Сделай что нибудь вроде сборки мусора. Напиши скрипт который запускается через кажды n-ый интервал и проверяет у файлов время последнего доступа. Если доступ был к ним давно то удалить. Или эту проверку можно вставить в скрипт генерации html файлов. 2-ой С помощью сессий. Для каждого пользователя открываешь сессию. Когда сессия истечет. Файлы связанные с этой сессией удаляешь. |
Автор: gcc 27.4.2008, 23:44 | ||
аналог только на пхп http://unixforum.org.ua/index.php?topic=4383.0
извените без коментариев, кодировка слетела ![]() |
Автор: haspint 28.4.2008, 00:28 |
Всем спасибо за помощь. А чем лучше воспользоваться CGI::Cookies или CGI::Session? |
Автор: Itsys 28.4.2008, 07:40 |
Один вопрос - один пост. ЗЫ Это тоже самое, что сравнивать ж*пу с пальцем. У каждого модуля свои назначения. |
Автор: haspint 29.4.2008, 00:21 |
тему можно закрыть, еще раз спаибо за помощ |