PDA

Bekijk Volledige Versie : [MySQL - PHP] - Totaal records verdelen over pagina's



Bart
17/12/05, 15:45
Dames, heren ook,

Voordat ik mij stort in het maken van allerlei tellermechaniekjes
terwijl er wellicht een simpeler methode bestaat, deze vraag:

Een gastenboek is opgeslagen als MySQL database, en bevat 200 records.
Ik wil die records niet allemaal op 1 pagina zien, ik wil dat de
PHP-pagina zelf uitvist hoeveel records er zijn (dat is uiteraard geen
probleem), en dan maximaal <max-records> op 1 pagina plaatst.

Onderaan elke pagina moet dan een "vorige - volgende" link komen met
een syntax die weer duidelijk maakt welke serie records er op de
<vorige> dan wel <volgende> pagina moet worden getoond.

Kan dat simpel, of moet ik gewoon toch berekeningen en tellertjes gaan
bakken?

Bij voorbaat dank! :)
Bart

Maarten Wierda
17/12/05, 16:00
Bart wrote:

> Dames, heren ook,

Pfew!

> Voordat ik mij stort in het maken van allerlei
> tellermechaniekjes terwijl er wellicht een simpeler
> methode bestaat, deze vraag:
>
> Een gastenboek is opgeslagen als MySQL database, en bevat
> 200 records. Ik wil die records niet allemaal op 1 pagina
> zien, ik wil dat de PHP-pagina zelf uitvist hoeveel
> records er zijn (dat is uiteraard geen probleem), en dan
> maximaal <max-records> op 1 pagina plaatst.
>
> Onderaan elke pagina moet dan een "vorige - volgende"
> link komen met een syntax die weer duidelijk maakt welke
> serie records er op de <vorige> dan wel <volgende> pagina
> moet worden getoond.
>
> Kan dat simpel, of moet ik gewoon toch berekeningen en
> tellertjes gaan bakken?

Tsja, wat vind jij simpel. En in hoeverre is het een
probleem zelf iets te gaan doen. Met php kun je ahv de
resultaten eenvoudig uitrekenen hoeveel pagina's er in
totaal nodig zijn, wanneer ern een 'volgende'- en
'vorige'-link moet worden getoond, en welke berichten daar
dan aan gekoppeld zijn (dmv LIMIT in MySQL).

Oftewel, wat zoek je precies?


--
Cheers,
Maarten Wierda

Bart
17/12/05, 16:30
Op Sat, 17 Dec 2005 15:47:31 +0100 schreef Maarten Wierda
<moart3nAT@chelloDOT.nl>:

>Tsja, wat vind jij simpel. En in hoeverre is het een
>probleem zelf iets te gaan doen. Met php kun je ahv de
>resultaten eenvoudig uitrekenen hoeveel pagina's er in
>totaal nodig zijn, wanneer ern een 'volgende'- en
>'vorige'-link moet worden getoond, en welke berichten daar
>dan aan gekoppeld zijn (dmv LIMIT in MySQL).

Zelf doen is op zich geen probleem, maar voordat ik een veel te
ingewikkelde oplossing ga zitten uitbroeden terwijl er een mij nog
onbekend ontzagwekkend slim query-commandootje bestaat, dacht ik het
even hier te vragen :-)

Maarten Wierda
18/12/05, 00:00
Bart wrote:

>> Tsja, wat vind jij simpel. En in hoeverre is het een
>> probleem zelf iets te gaan doen. Met php kun je ahv de
>> resultaten eenvoudig uitrekenen hoeveel pagina's er in
>> totaal nodig zijn, wanneer ern een 'volgende'- en
>> 'vorige'-link moet worden getoond, en welke berichten
>> daar dan aan gekoppeld zijn (dmv LIMIT in MySQL).
>
> Zelf doen is op zich geen probleem [...]

Ok dan.

Berken het totaal aantal pagina's door het totaal aantal
berichten te delen door het aantal berichten per pagina en
rond dat af middels ceil(). Check vervolgens op de GET-var
'pageOffset' o.i.d. en haal je berichten op. Zo simpel is
het volgens mij.

DIY!

Succes.


--
Cheers,
Maarten Wierda

finalwebsites.com
18/12/05, 12:45
Ik heb hiervoor een eenvoudige functie geschreven:

http://www.finalwebsites.com/snippets.php?id=37

gr. Olaf

Bart
20/12/05, 02:30
Op 18 Dec 2005 03:30:47 -0800 schreef "finalwebsites.com"
<olaf.lederer@gmail.com>:

>Ik heb hiervoor een eenvoudige functie geschreven:
>
>http://www.finalwebsites.com/snippets.php?id=37

Intussen heb ik er een routine omheen geschreven die het totaal aantal
records ophaalt, deelt door aantal X (door de gebruiker op te geven
max. aantal per pagina) zodat het aantal pagina's bekend is, en zo
verder. Maar ik ben toch benieuwd naar je oplossing. Helaas geeft
www.finalwebsites.com op dit moment niet thuis, dus ik zal het een
andere keer nog eens proberen.

finalwebsites.com
20/12/05, 12:30
sorry er was vanacht een storing...