Ordnung unterdrücken?

Sunbringer

Grünschnabel
Hi zusammen,

ich habe ein kleines Problem mit der automatischen Ordnung von Datensätzen. Durch mehrere Abfragen bekomme ich ein Array von IDs, die anschließend per foreach zu einer MySQL-Abfrage zusammengesetzt werden, um die Daten der eizelnen IDs abzufragen:

PHP:
SELECT * FROM table WHERE id = 3386 OR id = 1667  OR id = 1208  OR id = 726  OR id = 2244  OR id = 1233  OR id = 2430  OR id = 2959  OR id = 1293 LIMIT 0,15

Die Reihenfolge der IDs ist wichtig und muss unbedingt beibehalten werden. Leider kommt das Ergebnis nach IDs sortiert raus.

PHP:
726
1208
1233
1293
1667
2244
2430
2959
3386

Gibt es eine Möglichkeit die Sortierung zu verhindern?

Danke
Sun
 
Hi,

fein. Kleiner Tip noch: Du kannst die WHERE-Klausel auch so schreiben:

WHERE id IN (3386, 1667, ...)

D.h. Du könntest Dir die foreach-Schleife auch sparen und die Abfrage mit implode zusammenbauen, ungefähr so:
PHP:
$query = "SELECT * FROM table WHERE id IN (" . implode(',', $ids) . ") ORDER BY FIELD(id, " . implode(',', $ids) . ") LIMIT 0,15";

LG
 
Zurück