Forum Webscript.Ru

Программирование => Perl => Тема начата: от 17 Декабря 2001, 18:18:40

Название: Постраничный вывод
Отправлено: от 17 Декабря 2001, 18:18:40
Возник другой вопрос.
Может есть у кого готовый алгоритм постраничного вывода на экран? Поделитесь пожалуйста.
Название: а в качестве критерия...
Отправлено: Green Kakadu от 17 Декабря 2001, 19:01:32
Цитировать
Может есть у кого готовый алгоритм постраничного вывода на экран? Поделитесь пожалуйста.

А тут нужны подробности:
делить на страницы должен скрипт или нет?
Если да, то по какому критерию (кол-во знаков и т.д.)
Название: Постраничный вывод
Отправлено: от 17 Декабря 2001, 19:11:33
Green Kakadu
Делить должен тот самый срипт, что обсуждали в предыдущий раз.
Количество сообщений на экран задается в конфиге. Ссылку я давал, посмотри есче раз.
Название: вот.
Отправлено: Green Kakadu от 18 Декабря 2001, 00:59:09
(для тех кто не в курсе, о скрипте из топика http://forums.webscript.ru/showthread.php?s=&threadid=2911&perpage=15&pagenumber=2)

Вот вариант:

sub view_delete {
#--------------------------------------------
my ($how_pages, $num_recs, $pages, $from, $to);
$FORM{\'page\'}||=1;
@allmail=&get_all_recs_to_array;#Все считывается в @allmail
$num_recs=$#allmail;#Номер последнего эл-та

#Сколько страниц?
$how_pages = int ($num_recs/$mes_per_page);
++$how_pages if ($how_pages*$mes_per_page != $num_recs);

#Строим ссылки-переходы
for (my $i =1; $i<=$how_pages; $i++){
   #....HTML
   if ($i != $FORM{\'page\'}){$pages .= qq~ $i~;}
   else {$pages .= qq~ $i~;}
}
$pages||= qq~ 1 ~;

#Считаем границы:
$from=$mes_per_page*($FORM{\'page\'}-1);
$to=$from+$mes_per_page-1;
if ($from>$num_recs){$from=0;}
if ($to>$num_recs){$to=$num_recs;}

#Вывод нужной страницы
foreach my $rec (@allmail[$from..$to]){
      ($mail,$name,$city,$phone) = split(/\\::/, $rec);
      #+ Все что угодно
                   #Мы работаем только с тем куском массива
                   #который относится кнашей странице
}     
#end sub
}
Название: Постраничный вывод
Отправлено: от 18 Декабря 2001, 12:36:17
Green Kakadu
Попробую сегодня вечером. О чем сообщу дополнительно.
Но, интересует другое, нет ли какого нибудь общего алгоритма постраничного вывода?
Название: Постраничный вывод
Отправлено: NeoNox от 18 Декабря 2001, 12:53:03
Так Green Kakadu тебе его написал!?
Название: вот
Отправлено: Green Kakadu от 18 Декабря 2001, 17:52:01
Цитировать
нет ли какого нибудь общего алгоритма постраничного вывода?

Я его изобразил.
Если на словах, то так:
1. считаем общее число записей
2. считаем кол-во страниц исходя из п1 и кол-ва записей на страницу
3. генерация ссылок на след. страницы
4. определяем какие записи принадлежат выводимой странце
5. непосредственный вывод.

Т.е. я примерно это и отобразил.
Название: Постраничный вывод
Отправлено: от 18 Декабря 2001, 21:16:28
2 All
Тхенкс, за подсказку.
Кста, никто не желает принять участие в совместной разработки скрипта? Просто довольно таки специфический скрипт получается. В Инете рылся, есть конечно скрипты по рассылке, но не то, не то.