MySQL: je id naar mooie optelling
Van: 88 2 46 23 3 Naar: 1 2 3 4 5
Wel: 1 2 3 4 5
Niet: 5 3 4 1 2
Niet: 1 2 4 5
Er is geen goed argument te vinden om dat te doen. Wat maakt mij het uit of ik id 88 heb of 2, niks. En het aantal members dat je hebt moet je ook niet ophalen dmv het hoogste id, maar door al je id de count()en.
Zorg dat je iig van auto_increment()(mysql) gebruik maakt of serial (postgres), maar ik neem aan dat je dat al doet, vandaar je vraag.
Kort antwoord op je vraag: er is geen functie voor.
En nogmaals waarom zou je het willen? Alleen omdat het mooi staat...
Voor omhoog, even kort door de bocht:
$menunaamomhoog = SELECT Naam WHERE id = $id
$iddaarboven = $id -1;
$menunaam = SELECT Naam WHERE id = $iddaarboven
$sql=(UPDATE $menunaamomhoog WHERE id = $iddaarboven);
$sql=(UPDATE $menunaam WHERE id = $id);
Dit kan dus alleen als de id netjes optelt
Je gebruikt het id dan alleen om de records in je tabel uit elkaar te houden en ervoor te zorgen dat elk record uniek is. Voor meer heb je het niet nodig.
Voor de volgorde van je menu zul je in dit geval een andere kolom moeten gebruiken. In die kolom kun je dan gewoon met behulp van integers de positie van een menu item aangeven. Het slimste is dan om bij het wijzigen van de volgorde, alle records te updaten. Zo weet je zeker dat je niet 2 items op 1 positie krijgt.
Verder klopt er ook vrij weinig van je queries die je hier net plaatst. Ik neem aan dat je in je echte script wel anders hebt staan?
Wil je in een record een waarde opslaan, dan doe je dat door bv. de kolom 'naam' aan te maken en daarin de naam van iemand op te slaan. Dát is een waarde. Een id gebruik je om een uniek record aan te wijzen, 6485673 is dus net zo belangrijk, of onbelangrijk, als 5895. Beide zijn ze volkomen gelijk aan elkaar, ze zijn beide 'waardeloos'.
KEN ER DAN OOK GEEN WAARDE AAN TOE!!!
Sorry dat ik zo schreeuw, dat is voornamelijk om anderen wakker te schudden. Hopelijk lezen die dit topic ook. Dat is het mooie van een forum ;)
By the way: Mac rules!