Autor Zpráva
quatzael
Profil
Potřebuju udělat univerzální stránkování pro krátké až středně dlouhé výpisy a zajímalo by mě jestli náhodou někdo neznáte nějakej odkaz na kód, který by uměl tohle:

Na jedné stránce by bylo max např. 30 záznamů

- pokud by počet řádků byl měnší než 30, žádný stránkování by se nezobrazilo
- pokud by byl větší než 30 a zároveň menší než 300 dole uprostřed stránky by se zobrazily čísla od 1 do 10 podle toho na kolik by se to stránek
vešlo
takže například:
1 2 3 4 5 6 7
- pokud by bylo záznamů více než na 10 stránek, objevila by se napravo vedle tý desítky šipka odkazující na druhej set (čili od 11 do 20)
- teprve pokud by bylo záznamů tolik, že by se uživatel objevil uprostřed na nějakým desítkovým setu a na začátek seznamu nebo na konec seznamu by bylo potřeba více než jedno kliknutí na šipku tak by se mu tam objevili šipky pro přeskočení na konec/začátek seznamu..

Doufám, že jsem to vysvětlil srozumitelně..

Tenhle styl stránkování mi připadá pro můj účel nejvhodnější, zvlášť když v mnoha případech tam bude stejně max 2 až 4 stránky, takže šipky jsou úplně zbytečný..

Pokudněkdo ví odkaz na tento skript tak budu moc vděčnej.. jinak si to naprogramuju sám.. jen bych rád požádal o názor, jestli je to vhodný naprogramovat bez objektů..

Díky.
preca1
Profil
zjednodušení stránkování php nebo do js
Str4wberry
Profil
Když jsem si hrál se stránkováním na této diskusi, přišlo mi nejlepší (a paradoxně na realisaci nejjednodušší).

• Při počtu stránek do cca 20 vypsat všech 20 (+ šipky).
• Při vyšším počtu nechat šipky a použít roletový výběr (<select>).

Rádoby chytré stránkování s vynecháváním číslic se mi nelíbí — většinou tam to číslo stránky, které bych zrovna chtěl, není a nezbývá než se uklikat nebo upravovat URL.
quatzael
Profil
Str4wberry:
Já to právě chci udělat tak, aby do těch deseti stránek tam žádný šipky nebyly.
Doufám, že se to z toho mého popisu bylo jasný..
Tom
Str4wberry
Profil
Co chcete udělat, je mi jasné. Jen jsem dal k úvaze řešení stránkování, které se mi libí více.

Pro hotové řešení si spíš napište do Google „php pagination“.
quatzael
Profil
Koukal jsem tady na jedno řešení a nerozumím jednomu řádku:

$result = mysql_query("SELECT * FROM Table_Name WHERE Column_Name = '$section' ORDER BY 'name' ASC LIMIT $p_num , $items");

Co znamená tohle: ASC LIMIT $p_num , $items??

Proč tam jsou 2 proměnný a mezi nima čárka??

Já bych čekal u podobných řešení, že tam bude něco jako předběžná selekce prvků podle podmínek za where, seřazení, určení od který položky má prvky opravdu vybírat (tzn. počet prvků na stránce * číslo stránky) a počet prvků, který má vybrat (počet prvků na stránce)

Tady se zdá, že je to nějak jinak řešený..
Str4wberry
Profil
Sám jste si odpověděl, je to, jak píšete, začátek ($p_num) a limit ($items). Písmena ASC znamenají způsob řazení (vzestupně) a vztahují se k ORDER BY.
quatzael
Profil
Str4wberry:
Už jsem na to taky přišel z manuálu.. Ta čárka mě zmátla.. Nevěděl jsem, že LIMIT funguje i takhle..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0