Autor | Zpráva | ||
---|---|---|---|
scratcher Profil |
#1 · Zasláno: 26. 8. 2008, 14:41:12
Zdravim,
potreboval bych poradit se stránkováním, na stránkách ho již mám ve tvaru "zacatek | predchozi | stranka 2 z 19 | dalsi | konec" potreboval bych jej ale upravit do tvaru "predchozi, 6,7,8,9,10, dalsi" s tim ze kdyz kliknu na predchozi zobrazi se "1,2,3,4,5,dalsi" a naopak kdyz kliknu na dalsi tak se zobrazi "predchozi,11,12,13,14,15,dalsi" a podobnym zpusobem by to ukazovalo i ostatni stranky. jde vlastne o to ze kdyz kliknu na dalsi tak se tam ukaze dalsich 5 odkazu na stranky. jedine co vim je celkovy pocet stranek a vim na jake aktualni strance se nachazim. Ale uz do toho koukam hroznou dobu a nemuzu prijit na to jak to udelat. dikz za nakopnuti :) |
||
peta Profil |
#2 · Zasláno: 26. 8. 2008, 16:12:52 · Upravil/a: peta
scratcher
No, dobry, a co jsi teda vymyslel? Obvykle, kdyz strankujes, tak mas: m = maximum polozem n = aktualni polozka c = pocet polozek na strance a z toho prepocitavas ten zbytek pocet stranek je potom svsech = round(m/c)+1 aktualni stranka s = round(n/c)+1 -5 stranek je nx = n-5*c +5 stranek je nx = n+5*c z aktualni stranky nx = (s-5) *c nx = (s+5) *c Plus na vsechno omezujici podminky prekroceni m podteceni 0 a tak. Nevim, co mas ty, ale jevi se mi to jednoduche z udaju, ktere mam ja. |
||
scratcher Profil |
#3 · Zasláno: 26. 8. 2008, 16:46:54 · Upravil/a: scratcher
no takhle mi to vubec nefunguje. Pokud nemam vybranu stranku na ktere jsem tak je defaultne a=1, dalsi ma a=2 atd.
Potrebuji udelat aby kdyz budu na strance 1 az 5 byly zobrazeny odkazy na stranku 1 az 5 od 6te budou zas zobrazeny odkazy na stranky 6 az 10 atd. jinak samozrejme znam pocet polozek na stranku, celkovy pocet polozek, celkovy pocet stranek a aktualni stranku (a). |
||
hans Profil * |
#4 · Zasláno: 26. 8. 2008, 17:55:07
Mám to udělané pro šablonový systém (striktně oddělené soubory PHP a HTML), takže si to budeš muset dát dohromady, ale snad to nebude tak složité.
Funkce newBlock vkládá HTML kód z šablony v BLOKU se stejným názvem Funkce assign - výraz ve složených závorkách { } nahradí vypočtenou hodnotou Block "hellip" vkládá jen tři tečky pro ozdobu :-) jak to vypadá můžeš vidět tady - klikni si na další čísla stránek (na konci řádku je poslední číslo - tedy počet stránek) $pagenum = číslo stránky $pages = počet stran $url = adresa stránky <?php if($pagenum>1): $bl1->newBlock("before"); $bl1->assign('URL',$url); $bl1->assign('PAGEB', max(1,$pagenum-1)); endif; if($pagenum-3>1): $bl1->newBlock('hellip1'); endif; for($i=max(1,$pagenum-4);$i<=min($pages,$pagenum+4);$i++) { $bl1->newBlock("page"); $bl1->assign('URL',$url); $bl1->assign('PAGEX',$i); if($i==$pagenum): $bl1->assign('CLASS','red'); endif; } if($pages>=$i): $bl1->newBlock('hellip2'); endif; if($pagenum<$pages): $bl1->newBlock("next"); $bl1->assign('URL',$url); $bl1->assign('PAGEN', min($pages,$pagenum+1)); $bl1->assign('PAGEL', $pages); endif; ?> ************ ŠABLONA HTML ************ <div class="paging"> Strana: <!-- START BLOCK : before --> <a href="{URL}pagenum=1" title="Přejít na první stranu výpisu">První</a> <a href="{URL}pagenum={PAGEB}" title="Přejít na předchozí stranu">Předchozí</a> <!-- END BLOCK : before --> <!-- START BLOCK : hellip1 --> … <!-- END BLOCK : hellip1 --> <!-- START BLOCK : page --> <a href="{URL}pagenum={PAGEX}" title="Přejít na stranu {PAGEX}" class="{CLASS}">{PAGEX}</a> <!-- END BLOCK : page --> <!-- START BLOCK : hellip2 --> … <!-- END BLOCK : hellip2 --> <!-- START BLOCK : next --> <a href="{URL}pagenum={PAGEN}" title="Přejít na další stran">Další</a> <a href="{URL}pagenum={PAGEL}" title="Přejít na poslední stranu seznamu">[{PAGEL}]</a> <!-- END BLOCK : next --> </div> |
||
hans Profil * |
#5 · Zasláno: 26. 8. 2008, 18:01:11
Oops, teď jsem si to přečetl pořádně a vidím, že tohle vlastně máš a chceš stránkovat trochu jinak, takže pardooon.
|
||
Cup Profil |
#6 · Zasláno: 26. 8. 2008, 19:27:34
pokud chceš něco co je na této stránce na ůvodu dole http://hckridla.ic.cz/ tak se mi ozvy na icq mám to napsaný takovým docela neohrabaným způsobem ale jestli chceš tak ti to pošlu ... dej klindě vědět
|
||
scratcher Profil |
#7 · Zasláno: 27. 8. 2008, 10:01:00 · Upravil/a: scratcher
no vypada to docela dobre.
|
||
peta Profil |
#8 · Zasláno: 27. 8. 2008, 13:10:22
znam
n = pocet polozek na stranku m = celkovy pocet polozek s_vse = celkovy pocet stranek s = aktualni stranku (1 az s_vse) 1 az 5 od = round((s-1)/5); predchozi=od, od+1, od+2, od+3, od+4, od+5, dalsi=od+6 Ja na tom nevidim nic tezkeho? Jen si musis opet pohlidat, aby se predchozi zobrazilo, kdyz je od>0 nebo spise >5 . Je to v podstate podobny princip jako strankovani samotne, akorat misto pole seznam_zaznamu strankujes pole seznam_stranek |
||
Časová prodleva: 6 dní
|
|||
scratcher Profil |
#9 · Zasláno: 2. 9. 2008, 16:28:56
Peta
Muzes mi pls poradit jak potom vypsat odkazy na dalsi stranky? at delam co delam tak bud mi to vypise vsechny odkazy najednou (na vsechny stranky). diky |
||
Časová prodleva: 16 let
|
0