21-04-2008, 02:22 PM
Quel version de mysql utilises tu ?
21-04-2008, 02:22 PM
Quel version de mysql utilises tu ?
21-04-2008, 02:23 PM
Je te disais de passer par des variables dynamiques (plus d'explications ici: http://fr2.php.net/manual/fr/language.va...riable.php). Dans ton cas, cela reviendrait à ça: Code PHP :
Ainsi, si plus tard dans ton développement tu souhaites ajouter l'objet ayant pour ID 15, la seule modif à faire sera d'écrire IN(22, 24, 25, 15) et la variable $15 sera directement utilisable. Ce qui doit résoudre au moins en partie le problème de souplesse évoqué par Sephi-Chan. Par contre, question optimisation, je ne sais pas du tout s'il vaut mieux utiliser cette solution ou celle avec le ORDER BY FIELD.
21-04-2008, 02:36 PM
Intéressant ça, mais dans ce cas la ça va, ça va donner une variable du genre $22 = .....
Mais si à la place du 22 j'ai un chiffre inconnu, une variable?
21-04-2008, 02:41 PM
Si c'est une variable existante, elle a une valeur qui deviendra le nom de la nouvelle variable, sinon, cela renverra une erreur. Pour le chiffre inconnu, je ne vois pas bien ce que tu veux dire.
21-04-2008, 02:41 PM
ORDER BY FIELD, fonctionne parfaitement sous MySQL 4 et 5.
21-04-2008, 02:46 PM
Ce que je veux dire, si dans le IN j'ai une variable contenant un id pouvant aller de 1 a 5000 à la place du 22, comment récupérer ensuite la variable du même style que $22, puisque je ne connaitrais pas la valeur, tu me suis?
Pour le ORDER BY FIELD, j'ai pourtant la bonne version de Mysql, mais je vais d'abord essayer le méthode de yoda
Et pourquoi ne pas reconstruire tout simplement un tableau associatif avec l'Id de l'objet en clé ? Ensuite, tu réutilises cette clef pour accèder à la valeur. Je reprends le cas de ta 2e requête Code PHP :
[Edit] Corrections diverses
Quand on te dit qu'un projet est terminé à 90%, prépare toi pour les 90% suivant
Ninety-Ninety Rule "Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire" Vu sur IRC
Tu veux dire quelque chose comme ça? Code PHP :
Dans ce cas, ceux sont les objets 12, 32 et 425 qui seront comptabilisés. @Anthor: Tu as un lien vers la doc pour ORDER BY FIELD, je ne connaissais pas et ne trouve pas de référence sur le site mysql.com.
Je te rassures Anthor, ça marche très bien chez moi
Peut-être la syntaxe de la requête qui n'a pas été comprise. Parfois un exemple en dur ça peut aider Citation : mysql_query('SELECT * FROM inventaire WHERE pseudo = "Belsion" AND id_item IN(22, 24, 25) ORDER BY FIELD(id_item, 22, 24, 25)') Edit: pour une aide un peu plus détaillée: http://case.oncle-tom.net/2007/08/21/mys...leatoires/
21-04-2008, 02:58 PM
Oki merci à tous, je vais me débrouiller avec tout ça, et tester un peu chaque méthode pour voir ce que ça donne
A plush |
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Sélection sous contrainte dans un array | Racktor | 5 | 3 343 |
21-06-2014, 01:00 PM Dernier message: Racktor |
|
Requete avec plusieurs contraintes | hercull | 20 | 8 141 |
20-06-2014, 10:44 AM Dernier message: Xenos |
|
Exécuter une requête une seule fois dans une boucle | Ereinion | 23 | 10 153 |
18-11-2012, 09:35 PM Dernier message: Xenos |
|
[Résolu][Rails] Gestion des erreurs dans formulaire avec un objet non-ActiveRecord | Maz | 16 | 8 251 |
27-09-2011, 07:53 PM Dernier message: Maz |
|
[Résolu] Array serialisé et taille du champs de la base de donnée | php_addict | 8 | 3 969 |
16-08-2011, 08:52 AM Dernier message: Sephi-Chan |