login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Id ophalen en verhogen.

Offline thomasje - 25/01/2008 14:17
Avatar van thomasjeMySQL beginner Ik heb een db en daarin enkle 20 tallen id's maar nu wil ik graag met 1 knop naar de volgende id.
Maar mijn id's hebben door dat mensen hun id verwijderen niet een klopende nummering. Dus bijvoorbeeld id 1 daarna id 5 en daarna 6. Dus nu was mijn vraag hoe kan ik kijken welke id na bijvoorbeeld 5 komt. En welke id daarvoor zat. Ook zou ik graag willen dat zodra hij id 1 heb hij terug gaat naar de hoogste id.
Dus als iemand bij id 1 klikt op vorige dat hij dan naar id 6 gaat.

5 antwoorden

Gesponsorde links
Offline Wim - 25/01/2008 14:19
Avatar van Wim Crew algemeen order by id in je query zetten?
Offline thomasje - 25/01/2008 14:21
Avatar van thomasje MySQL beginner Ja heb je mischien een klein voorbeeldje met 2 linken vorige en volgende?
Ik snap niet goed hoe ik die order by er dan in moet verwerken.
Offline Wim - 25/01/2008 14:51
Avatar van Wim Crew algemeen SELECT id FROM table WHERE id < $id ORDER BY id ASC LIMIT 1
SELECT id FROM table WHERE id > $id ORDER BY id DESC LIMIT 1

dat zijn de 2 queries die je nodig hebt voor vorige en volgende (kan wel dat ASC en DESC omgewisseld zouden moeten worden).

verondersteld dat die resource in $q zit:
$table = mysql_fetch_object($q);
echo $q->id; //dit is naargelang je query het vorige of volgende id
Offline thomasje - 25/01/2008 15:27 (laatste wijziging 25/01/2008 17:27)
Avatar van thomasje MySQL beginner Het werkt nu,
maar hoe kan ik instellen dat als hij het hoogste id heeft gehad hij weer naar 1 gaat of dus naar de laagste.
Dus als mensen bij 6 zijn en ze weer op verder klikken dat ze dan naar 1 gaan. (zie topic)
Offline Wim - 25/01/2008 19:37
Avatar van Wim Crew algemeen PHP.net: mysql_num_rows

Als er 1 resultaat is is er nog minimum 1 hoger ID, als er 0 resultaten zijn dan is dit het laatste. Vanaf dan sorteer je oplopend, en je limiteerd het weer op 1 record, zodat je het eerste record uit je database hebt...

Het kan trouwens handig zijn om een @ teken voor de numrows te zetten, zo worden warnings hiervan niet getoond. Als er geen records zijn geeft de functie normaal een warning meen ik mij te herinneren
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.171s