Автор Тема: Помогите Plz  (Прочитано 8995 раз)

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

Оффлайн Psixolog

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 23
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите Plz
« : 27 Октября 2005, 05:34:26 »
как сделать, если более 20 строчек, то создавалось новая страница.
Например: Страница [1] 2 3 4
http://holod.vip.su/cgi-bin/index.cgi - Класный сайт

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Помогите Plz
« Ответ #1 : 27 Октября 2005, 11:55:40 »
передавайте в url_param индекс массива: $howMatch=20;
for (0..$howMatch) {
print $array[$_]
}
это одно изрешений. вариантов масса. ;)
выводим ссылки на страницы:
print qq~[2]
[3]
...~;

идея, думаю, понятна
« Последнее редактирование: 27 Октября 2005, 12:01:05 от AnnA »
пока-пока. :)

Оффлайн Psixolog

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 23
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите Plz
« Ответ #2 : 27 Октября 2005, 12:52:41 »
А что то типа

open 
(TXT,"1.txt");
@
strings=<TXT>;
$count=@strings;
close (TXT);

# Если их количество больше 10,создаём новую страницу
if ($count>10) {
print 
"страница: <a href=url>1</a>\\n";
}

Что то типа того =))
http://holod.vip.su/cgi-bin/index.cgi - Класный сайт

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Помогите Plz
« Ответ #3 : 27 Октября 2005, 14:10:50 »
А как оптимальней сделать, когда 3542 страницы...
1...23 24 [25] 26 27 28...3542
<< 23 24 [25] 26 27 28 >>
<< 25 of 3542 >>
или еще как-то?
Космическая игрушка

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Помогите Plz
« Ответ #4 : 27 Октября 2005, 14:21:55 »
Psixolog нет.
лучше сразу найти выводимое кол-во ссылок.
например, если хочется выводить по 20 элементов массива:
$hrefs = int(scalar(@arr)/20); теперь у нас есть кол-во страниц, можно формировать строку ссылок:
Цитировать
Error202:
1...23 24 [25] 26 27 28...3542 << 23 24 [25] 26 27 28 >> << 25 of 3542 >>

как угодно. ;) как больше нравится, так и делайте.
пока-пока. :)

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Помогите Plz
« Ответ #5 : 27 Октября 2005, 14:25:48 »
Так мне и интересно, как удобно обычно?
Космическая игрушка

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Помогите Plz
« Ответ #6 : 27 Октября 2005, 14:33:56 »
Цитировать
Error202:
когда 3542 страницы...

я бы сделала так:
«« « …23 24 [25] 26 27 28 29 30 31 32 33… » »»
--------------------------
«« - первая страница
«  -  предыдущих 10. т.е. ряд ссылок выглядит так:
      13 ..... 22
»  - соответственно 10 следующих
»» - последняя
пока-пока. :)

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Помогите Plz
« Ответ #7 : 27 Октября 2005, 14:40:55 »
Да... Так аккуратней...
Космическая игрушка

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Помогите Plz
« Ответ #8 : 27 Октября 2005, 14:53:34 »
Как узнать количество десятков в цифре...?
т.е. просто отсечь остаток при делении...
« Последнее редактирование: 27 Октября 2005, 14:59:15 от Error202 »
Космическая игрушка

Оффлайн Psixolog

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 23
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите Plz
« Ответ #9 : 27 Октября 2005, 15:09:26 »
=)) Код кто нить подскажет ???

=) ты де не будешь смотреть сначала первую а потом последн.. страницу =)) зачем?

Страница: [1] 2 3 4 5 6 ...

Вот так самое оптимально!
Теперь к главному, я думал думал и придумал


#!/use/bin/perl 

print "Content-type:text/html\\n\\n";

open (LOG,"1.txt");
@
strings=<LOG>;
$count=@strings;
close (LOG);

# Если их количество больше 10,создаём страницы.

if ($count>10) {
print 
"Страница:\\n";
for(
$i=1$i<10$i++) {
print 
"[<a href=?page=$i$i </a>]\\n";
}
}
http://holod.vip.su/cgi-bin/index.cgi - Класный сайт

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Помогите Plz
« Ответ #10 : 27 Октября 2005, 15:21:21 »
А вдруг тебе надо перейти к последней странице... Может там что полезное... Перибирать все десятки, если страниц более 5000 - до вечера... :)
Космическая игрушка

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Помогите Plz
« Ответ #11 : 27 Октября 2005, 15:31:06 »
my ($total,$how,$links,$now)=(scalar(@arr),8,1,url_param(\'page\'));

for ($c=0;$c<$total;$c++)
 { $pages=int($c/$how)*$how;
   if($pages eq $c)
     { if ($pages eq $now)
       { print qq~ ($links)~;}
         else {print qq~ [$links]~;}
       $links++
     }
 }

код не проверяла, но без use strict; рабочий по идее. ;)
пока-пока. :)

Оффлайн Psixolog

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 23
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите Plz
« Ответ #12 : 27 Октября 2005, 15:42:49 »
Что есть $total,how,now

А простой пример можешь привести а то я что то не разберусь

Тоесть

у меня текст допустим 1.txt

там
написано

1
2
3
4
5

тобишь 5 строчек

две на одной странице

ещё 2 на другой

и последняя на третьей.

В итоге:

1
2

Страница: [1] 2 3
________________

3
4

Страница: 1 [2] 3
________________
Если дашь такой код цены тебе не будет! =))
http://holod.vip.su/cgi-bin/index.cgi - Класный сайт

Оффлайн Psixolog

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 23
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите Plz
« Ответ #13 : 27 Октября 2005, 15:44:40 »
Цитировать
Error202:
А вдруг тебе надо перейти к последней странице... Может там что полезное... Перибирать все десятки, если страниц более 5000 - до вечера...

У меня не будет больше 10 страниц =))
http://holod.vip.su/cgi-bin/index.cgi - Класный сайт

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Помогите Plz
« Ответ #14 : 27 Октября 2005, 16:03:56 »
Вопросов нет... :)
Космическая игрушка

 

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