Page 1 sur 1

ORDER BY dans l'odre d'une condition WHERE IN

Posté : 04 mai 2009, 19:26
par Invité
Bonjour,

Je rencontre un souci , je n'ai jamais eu besoins de ce type de requete.
je dois faire une requete toute simple mais je rencontre un souci sur l'odre d'affichage des données

ci dessous j'ai fais une condition pour sortir tout les ID 9,8,55,4,7

comment puis faire pour que l'ordre soit tel que je l'ai inséré dans la requete ?

1 > 9
2 > 8
3 > 55
4 > 4
5 > 7

$query = mysql_query("SELECT table1.ID,nom,table2.login,table2.id 
FROM chiens 
LEFT JOIN table2 ON table2.id=table1.nom
WHERE table1.ID IN (9,8,55,4,7) ");
merci d'avance

Posté : 04 mai 2009, 19:28
par dogmongo
oublier de me loger :oops:

Re: ORDER BY dans l'odre d'une condition WHERE IN

Posté : 04 mai 2009, 19:31
par Nours312
comment puis faire pour que l'ordre soit tel que je l'ai inséré dans la requete ?
en faisant une requête par éléments, et en plaçant cette requête dans une boucle ... je crois que c'est la seule solution ...

Posté : 04 mai 2009, 19:58
par dogmongo
oh non c'est pas possible :?
va falloire que je crée une clé par id avant la requete alors :?
c'est compliqué pour une simple histoire d'ordre :x
$condition = "12,5,45,78,89,64"); 
$array_chaine = explode(',', $condition);  // je transforme cette condition en array

foreach($array_chaine as $lid) {
$val ++;
$table[$val] = $lid ;
echo $table[$val] ." devient " .$val. " <br>";
}
ensuite je dois mettre toute mes donnée en tableau associatif et les afficher par apport a $table[$val] :?
je ne peu pas croire que php n'a pas prévus plus simple 8-)

Posté : 04 mai 2009, 21:06
par dogmongo
c'est bon j'ai réussi à le faire en une seule requete :wink: merci pour le coup de pouce

Re: ORDER BY dans l'odre d'une condition WHERE IN

Posté : 04 mai 2009, 21:17
par Berzemus
je crois que c'est la seule solution ...
Alors heureusement que je passe par la :wink:

ORDER BY permet le tri personnalisé. J'ai dégoté ce petit lien qui te l'expliquera:
http://case.oncle-tom.net/2007/08/21/my ... leatoires/


Et je ne sais pas si c'est moi, mais c'est toujours une plaie que de chercher dans la doc MySQL pour y trouver quelque chose.

Re: ORDER BY dans l'odre d'une condition WHERE IN

Posté : 05 mai 2009, 08:54
par Nours312
je crois que c'est la seule solution ...
Alors heureusement que je passe par la :wink:
t'as raison !! :agenouille:

Posté : 05 mai 2009, 09:35
par zeus
Intéressant cet article ...
hop, bookmarké ;)