Forum Webscript.Ru
Программирование => Perl => Тема начата: от 17 Декабря 2001, 18:18:40
-
Возник другой вопрос.
Может есть у кого готовый алгоритм постраничного вывода на экран? Поделитесь пожалуйста.
-
Может есть у кого готовый алгоритм постраничного вывода на экран? Поделитесь пожалуйста.
А тут нужны подробности:
делить на страницы должен скрипт или нет?
Если да, то по какому критерию (кол-во знаков и т.д.)
-
Green Kakadu
Делить должен тот самый срипт, что обсуждали в предыдущий раз.
Количество сообщений на экран задается в конфиге. Ссылку я давал, посмотри есче раз.
-
(для тех кто не в курсе, о скрипте из топика 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
}
-
Green Kakadu
Попробую сегодня вечером. О чем сообщу дополнительно.
Но, интересует другое, нет ли какого нибудь общего алгоритма постраничного вывода?
-
Так Green Kakadu тебе его написал!?
-
нет ли какого нибудь общего алгоритма постраничного вывода?
Я его изобразил.
Если на словах, то так:
1. считаем общее число записей
2. считаем кол-во страниц исходя из п1 и кол-ва записей на страницу
3. генерация ссылок на след. страницы
4. определяем какие записи принадлежат выводимой странце
5. непосредственный вывод.
Т.е. я примерно это и отобразил.
-
2 All
Тхенкс, за подсказку.
Кста, никто не желает принять участие в совместной разработки скрипта? Просто довольно таки специфический скрипт получается. В Инете рылся, есть конечно скрипты по рассылке, но не то, не то.