Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako prikazati broj strana ... ?

[es] :: Perl :: Kako prikazati broj strana ... ?

[ Pregleda: 4645 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
*.vdial.verat.net



+25 Profil

icon Kako prikazati broj strana ... ?26.04.2004. u 23:13 - pre 242 meseci
Skripta cita iz array redove za fajl,ali kako ih npr.ima hiljadu,ne mogu da ih prikazem na jednoj strani .html...ne daj boze?

Kako uraditi [Prethodna strana] [1] [2] [3] [Sledeca strana] sistem?
Probao sam nesto i uspeo ali cas ih bude deset po strani,cas 9,cas 11.

Dajte mi please primer koda...
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

BobMarley
Vedran B
Bologna

Član broj: 148
Poruke: 1161
*.net.htnet.hr

ICQ: 61882680


+1 Profil

icon Re: Kako prikazati broj strana ... ?27.04.2004. u 12:45 - pre 242 meseci
ako iams 1004 stvari a oces npr 10 po strani

1000 podelis sa 10 i imas broj koliko ce ti strana biti i samo parsujes poslje na html
za slucaj da ti ostane ostatak kao sto je kod 1004 uvijek dodaj +1 na rezultat djeljenja.


BobMarley (me) ...the legend
 
Odgovor na temu

cabrilo
Dejan Cabrilo

Član broj: 4780
Poruke: 56
*.dsl.tpkaks.swbell.net

ICQ: 7366253


Profil

icon Re: Kako prikazati broj strana ... ?04.06.2004. u 19:31 - pre 241 meseci

Pa, nije bas tako lako. Evo kakav bih ja algoritam napravio:

prvo saznas duzinu niza, tj. nesto tipa:

$array_length = scalar (@array);

(gde je @array array koji ti drzi te podatke).

Onda se odlucis koliko hoces redova po stranici ($redova). Sad, posto je u perlu zeznuto zaokruziti broj (ili meni barem ne pada na pamet bilo sta, uradis ovo)

$temp = $array_length % $redova;

To ce ti vratiti ostatak deljenja. Onda:

$broj_strana = ($array_length - $temp) / $redova + 1.

Odatle imas broj strana koje ti trebaju. Sada, da bi to iskoristio, uvek skriptu daj argument $broj_strana i stranu koju treba prikazati ($i). Tako, npr. imas:

print "<a href="skript.cgi?0,$broj_strana">[Pocetak]</a>"; # Ovo je link na prvu stranu
$i = 1;
while ($i < ($broj strana - 1))
{
print "<a href="skript.cgi?$i,$broj_strana">[$i]</a>"; # Ovo su sve strane izmedju prve i poslednje... $i je broj strane na koju se ide
}
print "<a href="skript.cgi?$broj_strana,$broj_strana">[Kraj]</a>"; # Ovo je poslednja stranica


Onda na kraju, namesti da ti skript uvek uzima ta dva argumenta ($broj_strana i $i). $broj strana ti treba za gornju while petlju, a $i da istampas odgovarajuce redove za trenutnu stranu.

npr.
$pocetak = $i * $redova; # Tako, npr. ako si rekao da ce biti 10 redova po strani, a trenutno si na trecoj strani, on ce krenuti da broji od 30... mada bi trebalo od dvadeset... to vec sam doradi)
$kraj = $i * $redova + $redova; # Ovo ce biti kraj... znaci, 40

while ($pocetak < $kraj)
{
print "@array[$pocetak]";
$pocetak++;
}


Reci ako ti nesto nije jasno....
 
Odgovor na temu

[es] :: Perl :: Kako prikazati broj strana ... ?

[ Pregleda: 4645 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.