login  Naam:   Wachtwoord: 
Registreer je!
 Forum

waarden sorteer fout

Offline edwin87 - 09/03/2007 16:39 (laatste wijziging 09/03/2007 16:39)
Avatar van edwin87Nieuw lid De records van het menu staan in de database en de volgorde is bepaald

ik heb nu de volgordes 1,2,3,4,5
Maar wanneer ik bijvoorbeeld 2 verwijder dan krijg ik 1,3,4,5
Dan crasht het script! Wat kan ik hier het beste mee doen?
Ik moet dan bijvoorbeeld 2 keer klikken. Of waneer ik meerdere records verwijder zelfs vaker klikken. Wat niet de bedoeling is uiteraad.
Wat kan ik hier aan doen?
Bijvoorbaat dank,
Edwin

7 antwoorden

Gesponsorde links
Offline Stefan14 - 09/03/2007 16:47
Avatar van Stefan14 PHP gevorderde Je vraag is nogal paniekerig/vluchtig gesteld, kun je misschien beter uitleggen wat je probleem is?
Offline edwin87 - 09/03/2007 16:54
Avatar van edwin87 Nieuw lid Ja hoor.
Ik heb dus een menu systeem gemaakt. Dit word uit de database gehaald. Nu heb ik ook dat je de volgorde kunt veranderen. Werkt allemaal prima!

Dus je krijgt
ID NAAM PLEK
1 Home 1
2 About 2
3 Test 3
4 Gastenboek 4

Wanneer ik de volgorde verander dat bijvoorbeeld gastenboek naar plek 3 gaat gebeurd dit ook. Dan word test plek 4 en word gastenboek plek 3.
Alleen wanneer ik nu een aangemaakte pagina verwijder.
Bijvoorbeeld id 3 test. Dan gaat het fout.
Ik heb dan deze volgorde:
1,2,4
Dus als ik id 4 een plek omhoog wil hebben moet ik nu 2 keer klikken om bij plek 2 te komen. Terwijl het eigenlijk mogelijk moet zijn om gewoon 1 x te klikken.

Ik hoop dat jullie het nu wat beter snappen, en mij hiermee verder kunnen helpen. Bijvoorbaat dank,
Edwin
Offline Mad_Mike - 09/03/2007 17:00 (laatste wijziging 09/03/2007 17:01)
Avatar van Mad_Mike PHP beginner Bij mij pagina verplaats systeem doe ik het als volgt:

Als ik een item omlaag wil hebben (is een hogere positie in mijn geval) maak ik een query die het eerst volgende item ophaalt met een hogere positie. Is die gevonden, dan wissen ik die 2 om. Op die mannier maakt het niet uit of je nummering van de posities niet op 1 volgend is Je haalt immers de eerst volgende op

dus zoiets als:

"WHERE `plek` > ".$intHuidigePlek." ORDER BY PLEK DESC LIMIT 1"
of was het nou ORDER ASC:$ (moet je even kijken / testen)
Offline edwin87 - 09/03/2007 17:04
Avatar van edwin87 Nieuw lid Dat wat jij zegt had ik ook al in mijn hoofd inmiddels, maar ik heb geen idee hoe ik dit wil gaan uitvoeren.
Ik zie namelijk tussen de bomen door het bos niet meer. Misschien dat je mee een handje kunt helpen,
http://www.plaatscode.be/4543/

Offline Stefan14 - 09/03/2007 17:04
Avatar van Stefan14 PHP gevorderde ik heb het idee dat jij met een for loop werkt oid, dat moet je niet doen, want zodra er dan een ontbreekt voert de loop die wel uit voor dat id, maar die is er niet.

je moet gewoon zoals Mad_mike zegt je menu items ophalen uit je database en sorteren op een aparte kolom positie/rang oid waarin de volgorde van de items staat.
Bij deze manier van werken maakt het niet uit of er een ontbreekt of niet.
Offline edwin87 - 09/03/2007 17:06
Avatar van edwin87 Nieuw lid Voor zover ik weet werk ik niet met een for loop.
http://www.plaatscode.be/4543/

Ik hoop dat jullie mij een handje kunnen helpen met dit.
Offline Mad_Mike - 09/03/2007 17:09
Avatar van Mad_Mike PHP beginner Je hebt bij het update +1 en -1 staan bij de posities. Dat is niet de bedoeling, want dan krijg je idd dat probleem.

Voer eerst een query uit die de eerst volgende positie ophaalt en update dan met die gegevens
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.222s