Forum Webscript.Ru
Программирование => Perl => Тема начата: Psixolog от 27 Октября 2005, 05:34:26
-
как сделать, если более 20 строчек, то создавалось новая страница.
Например: Страница [1] 2 3 4
-
передавайте в url_param индекс массива: $howMatch=20;
for (0..$howMatch) {
print $array[$_]
}
это одно изрешений. вариантов масса. ;)
выводим ссылки на страницы:
print qq~[2]
[3]
...~;
идея, думаю, понятна
-
А что то типа
open (TXT,"1.txt");
@strings=;
$count=@strings;
close (TXT);
# Если их количество больше 10,создаём новую страницу
if ($count>10) {
print "страница: 1\\n";
}
Что то типа того =))
-
А как оптимальней сделать, когда 3542 страницы...
1...23 24 [25] 26 27 28...3542
<< 23 24 [25] 26 27 28 >>
<< 25 of 3542 >>
или еще как-то?
-
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:
когда 3542 страницы...
я бы сделала так:
«« « …23 24 [25] 26 27 28 29 30 31 32 33… » »»
--------------------------
«« - первая страница
« - предыдущих 10. т.е. ряд ссылок выглядит так:
13 ..... 22
» - соответственно 10 следующих
»» - последняя
-
Да... Так аккуратней...
-
Как узнать количество десятков в цифре...?
т.е. просто отсечь остаток при делении...
-
=)) Код кто нить подскажет ???
=) ты де не будешь смотреть сначала первую а потом последн.. страницу =)) зачем?
Страница: [1] 2 3 4 5 6 ...
Вот так самое оптимально!
Теперь к главному, я думал думал и придумал
#!/use/bin/perl
print "Content-type:text/html\\n\\n";
open (LOG,"1.txt");
@strings=;
$count=@strings;
close (LOG);
# Если их количество больше 10,создаём страницы.
if ($count>10) {
print "Страница:\\n";
for($i=1; $i<10; $i++) {
print "[ $i ]\\n";
}
}
-
А вдруг тебе надо перейти к последней странице... Может там что полезное... Перибирать все десятки, если страниц более 5000 - до вечера... :)
-
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; рабочий по идее. ;)
-
Что есть $total,how,now
А простой пример можешь привести а то я что то не разберусь
Тоесть
у меня текст допустим 1.txt
там
написано
1
2
3
4
5
тобишь 5 строчек
две на одной странице
ещё 2 на другой
и последняя на третьей.
В итоге:
1
2
Страница: [1] 2 3
________________
3
4
Страница: 1 [2] 3
________________
Если дашь такой код цены тебе не будет! =))
-
Error202:
А вдруг тебе надо перейти к последней странице... Может там что полезное... Перибирать все десятки, если страниц более 5000 - до вечера...
У меня не будет больше 10 страниц =))
-
Вопросов нет... :)
-
Psixolog
кол-во элементов массива,
сколько элемнтов выводить
номер страницы на которой пользователь сейчас (в данный момент)
простой же код, ну напрягитесь чуть-чуть, подумайте. м? ;)
я верю - всё у вас получится.
-
#Что тут вера ... хотя бы намёк ... а то ...
#НУ была задумка ... ну не получается у меня!
#2-ой месяц изучаю Перл, до етого ни чего не изучал!
-
я же написала вам код, проверила даже.
покажите что вы делаете, что хотите сделать и что у вас не получается.
-
Мне нуже пример что бы я разобрался куда именно вставлять код который ты привела. Самы простой пример ...
Вот что мне нужно и всё =))