Ik heb een database met een tabel. In die tabel is informatie geplaatst en dat is gerangschikt via automatische ID nummers.
Nu gebruik ik deze code:
SELECT * FROM lokaties ORDER BY id ASC LIMIT 3
Maar ik krijg niet wat ik wil. Ik wil dat de laatste 3 worden getoond (Dus degene met de hoogste ID nummers) met degene die het laatst geplaatst is onderaan komt te staan. Dus bijvoorbeeld momenteel staan er 5 rijen in mijn tabel dan laat hij dit zien
3
4
5
Dat is wat ik wil hebben. En als ik een rij toevoeg dat hij dan:
4
5
6
Laat zien... snappen jullie wat ik bedoel? Hoe doe ik dit? Want de code die ik nu gebruik is dus niet goed...
Volgens mij snappen jullie zijn probleem niet.
Hij wilt de laatste 3 records ophalen. (Doe je met ORDER BY `field` DESC LIMIT 3)
Maar hij wilt dat ze nog wel oplopend worden weergegeven.
Als je ze ophaalt met order by `field` desc dan is ie aflopend wat Kevin dus niet wilt.
Het is misschien een wat omslachtige oplossing maar als ksort() niet werkt (ik weet niet of Kevin het zo goed gebruikt) is dit wat overblijft:
<?
$result = mysql_query("SELECT COUNT(*) AS aantal FROM lokaties");
$row = mysql_fetch_object($result);
$start = $row->aantal - 3;
$sql = mysql_query("SELECT * FROM lokaties ORDER BY id ASC LIMIT ".$start.", 3");
while ($array = mysql_fetch_array($sql)) {
echo $array['id'];
}
?>
Waarbij je eventueel de twee 3'en nog kan veranderen in een ander getal wat je wil. Nadelen zijn dat het 2 queries zijn en dat als er minder dan 3 rijen in de database staan er LIMIT -1, 3 ofzo wordt uitgevoerd en dus een error oplevert.
Volgens mij snappen jullie zijn probleem niet.
Hij wilt de laatste 3 records ophalen. (Doe je met ORDER BY `field` DESC LIMIT 3)
Maar hij wilt dat ze nog wel oplopend worden weergegeven.
Als je ze ophaalt met order by `field` desc dan is ie aflopend wat Kevin dus niet wilt.
Mvg Sickness
Ik denk het toch wel... als er een record bij komt dan wordt de hoogste id toch ook automatisch mee verhoogd?!?!,
maar dan geef jij ook niet de goeie oplossing sickness!
hij geeft bij jou dan
6
5
4
en geen
4
5
6
de 'DESC' moet dus nog weer ge'ASC'd worden zeg maar ;)
en anders hebben Kevin en dutchcamel het antwoord al wel gegeven dunkt me