OO Paginanummering
Een tijd geleden heb ik een paginanummeringsscript gemaakt en die heb ik hier ook toegevoegd op PHPhulp. Een tijdje daarna heb ik mezelf eraan gewaagd deze in OO stijl te maken, alleen deze was erg brak.
Vandaar nu een volledig opnieuw gebouwd OO paginanummeringsscript: OO Paginanummering
Kent niet heel veel opties, maar is vooral handig en flexibel in het gebruik.
Hoe werkt het?
1. Laad de klasse in
2. Maak je query
3. Maak het paginanummeringsobject
4. Haal je resultaten op
5. Laat een navigatiemenu zien
Gebruik voor je SQL resource in je while-lus de functie getResultaten() - deze bevat de resource met de resultaten van de huidige pagina.
Op de plaats van je navigatie gebruik je de functie getNavigatie(). Deze stuurt een multidimensionale array terug met daarin een navigatiemenu. Deze arrays bevatten de volgende waardes die je kunt uitlezen:
nummer - het paginanummer dat je in je URL gebruikt
schermnummer - het nummer dat je op je pagina toont
Soorten in het attribuut 'soort'
eerste - knop voor de eerste pagina
pagina - knop voor een paginanummer
huidig - het huidige paginanummer (hoort geen knop te zijn)
laatste - knop voor de laatste pagina
volgende - knop voor de volgende pagina
De getNavigatie() functie stuurt dus een multidimensionale array terug, die lees je dus uit met een foreach()-lus. Gebruik voor de link het attribuut 'nummer' en voor het nummer dat op het scherm moet komen het attribuut 'schermnummer'. Het soort item dien je dus uit te lezen met een switch(), om te bepalen wat je met het item gaat doen. (denk aan opmaak e.d.)
Klinkt lastig? Bekijk de klasse dan maar eens, er staat heel wat commentaar bij! Alles wordt vanzelf duidelijk. In index.php staat ook een voorbeeld voor in de praktijk.
Ik hoop dat jullie er wat aan hebben! Commentaar is natuurlijk altijd welkom ;-)
(De functies getResultaten() en getNavigatie() zitten natuurlijk in het object, maar dat spreekt voor zich)
Gesponsorde koppelingen
PHP script bestanden
Er zijn 15 reacties op 'Classes'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu