Автор Тема: Постраничный вывод  (Прочитано 3069 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
Постраничный вывод
« : 17 Декабря 2001, 18:18:40 »
Возник другой вопрос.
Может есть у кого готовый алгоритм постраничного вывода на экран? Поделитесь пожалуйста.

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
а в качестве критерия...
« Ответ #1 : 17 Декабря 2001, 19:01:32 »
Цитировать
Может есть у кого готовый алгоритм постраничного вывода на экран? Поделитесь пожалуйста.

А тут нужны подробности:
делить на страницы должен скрипт или нет?
Если да, то по какому критерию (кол-во знаков и т.д.)
 в исканиях.

  • Гость
Постраничный вывод
« Ответ #2 : 17 Декабря 2001, 19:11:33 »
Green Kakadu
Делить должен тот самый срипт, что обсуждали в предыдущий раз.
Количество сообщений на экран задается в конфиге. Ссылку я давал, посмотри есче раз.

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
вот.
« Ответ #3 : 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
}
 в исканиях.

  • Гость
Постраничный вывод
« Ответ #4 : 18 Декабря 2001, 12:36:17 »
Green Kakadu
Попробую сегодня вечером. О чем сообщу дополнительно.
Но, интересует другое, нет ли какого нибудь общего алгоритма постраничного вывода?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Постраничный вывод
« Ответ #5 : 18 Декабря 2001, 12:53:03 »
Так Green Kakadu тебе его написал!?
The documentations is your friend

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
вот
« Ответ #6 : 18 Декабря 2001, 17:52:01 »
Цитировать
нет ли какого нибудь общего алгоритма постраничного вывода?

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

Т.е. я примерно это и отобразил.
 в исканиях.

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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28