resultaten in volgorde weergeven

Status
Niet open voor verdere reacties.

whitetigerck

Gebruiker
Lid geworden
8 aug 2008
Berichten
196
hallo allemaal

Ik heb wat problemen met mijn SQL query, dit is wat ik nu heb:

PHP:
$result = mysql_query("SELECT * FROM news WHERE id = 113 OR id = 110 OR id = 111 OR id = 115 OR id = 116 ORDER BY " ) or die(mysql_error());

Alleen nu geeft hij ze weer in een andere volgorde dan ik wil, namelijk in de volgorde 110, 111, 113, 115, 116. Ik wil ze in de volgorde 113, 110, 111, 115, 116 weer laten geven. Ik heb alleen geen kolom die deze in deze volgorde weergeeft. Is er een mogelijkheid om deze toch op deze volgorde te krijgen en zo ja, hoe?

Alvast bedankt:thumb:
 
Volgensmij niet; buiten een nieuwe kolom toevoegen die wel op die manier gesorteerd is.

(Of je moet het in je applicatie doen; met PHP is het wel mogelijk om ze in die volgorde te zetten)
 
Side note: Als je in SQL wil matchen op een lijst van waardes, is het mss overzichtelijker (performanter?) om gebruik te maken van IN ipv een hele reeks OR. Je statement wordt dan dit:
PHP:
$result = mysql_query("SELECT * FROM news WHERE id IN (113, 110, 111, 115, 116)" ) or die(mysql_error());
 
Het kan trouwens wel, maar de query wordt er niet mooier op:

Code:
SELECT * FROM `table` WHERE id IN ( 4, 5, 159, 138, 92 ) ORDER BY id = 5 DESC, id = 159 DESC, id = 138 DESC, id = 92 DESC, id = 4 DESC
 
Bedankt, het is gelukt:thumb:

of die query mooi is of niet, dat maakt niet echt uit zolang hij maar werkt:p
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan