![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
haspint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
Как написать скрипт, чтоб он выдавал по одной странице (как в поисковых системах). Опишите принцип работы. Если можно ссылочки где почитать по теме
|
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
по одной странице чего?
|
|||
|
||||
haspint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
1: Делаю запрос к базе данных
2: Она Возвращает определенный результат(их много) 3: Каждый результат вывести на одной странице 4: переход на следующую страницу осуществляется по ссылке Так понятно, что я имею в виду? |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
О как! Вроде как обсуждали такое.
Способов как всегда предостаточно, даже есть готовые модули! Считаем сколько у нас записей (max), выводим к примеру по 100, значит max / 100 = pages, далее запросами и выводим (page - текущая) с (page-1)*100 по page*100. Имхо один из простейших алгоритмов. |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
хм. а какая проблема?
выводите результат. в ссылке ставите признак, что результат уже просмотрен (например, порядковый номер). при обработке ссылки учитываете признак. |
|||
|
||||
haspint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
не пойму где хранить данные после получения результата запроса, как ето сделать?
|
|||
|
||||
tolkien |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: 4 Всего: 4 |
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 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
Если воспользоваться первым способом то как узнать, что пользователь допустим закрыл страницу и ему ети данные больше не нужны, чтобы удалить ети страницы?
|
|||
|
||||
tolkien |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: 4 Всего: 4 |
1-ый способ
Сделай что нибудь вроде сборки мусора. Напиши скрипт который запускается через кажды n-ый интервал и проверяет у файлов время последнего доступа. Если доступ был к ним давно то удалить. Или эту проверку можно вставить в скрипт генерации html файлов. 2-ой С помощью сессий. Для каждого пользователя открываешь сессию. Когда сессия истечет. Файлы связанные с этой сессией удаляешь. Это сообщение отредактировал(а) tolkien - 27.4.2008, 20:43 |
|||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
аналог только на пхп http://unixforum.org.ua/index.php?topic=4383.0
извените без коментариев, кодировка слетела ![]() Это сообщение отредактировал(а) gcc - 27.4.2008, 23:46 |
|||
|
||||
haspint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
Всем спасибо за помощь. А чем лучше воспользоваться CGI::Cookies или CGI::Session?
|
|||
|
||||
Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 2 Всего: 34 |
Один вопрос - один пост.
ЗЫ Это тоже самое, что сравнивать ж*пу с пальцем. У каждого модуля свои назначения. |
|||
|
||||
haspint |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 12.4.2008 Репутация: нет Всего: нет |
тему можно закрыть, еще раз спаибо за помощ
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |