Résultats de classement MySQL à l'aide de la méthode IN()
Lorsque vous travaillez avec un tableau PHP contenant des numéros d'identification ordonnés, il peut être nécessaire de récupérer les enregistrements correspondants d'une base de données MySQL tout en préservant l'ordre spécifié. Ceci peut être réalisé en utilisant la méthode MySQL IN(). Cependant, la méthode IN() ne conserve généralement pas l'ordre des ID dans le résultat.
Solution : Utilisation de la fonction FIELD()
Pour résoudre ce problème , on peut utiliser la fonction MySQL FIELD(). Bien qu'elle soit traditionnellement associée à la manipulation de chaînes, la fonction FIELD() peut également être utilisée efficacement avec des nombres :
ORDER BY FIELD(field_name, 3,2,5,7,8,1)
Dans cet exemple, la clause ORDER BY utilise la fonction FIELD() pour réorganiser les résultats en fonction du ordre spécifié entre parenthèses, garantissant que les enregistrements renvoyés correspondent à la séquence d'ID dans le tableau PHP.
Par exemple, si field_name contient les numéros d'ID dans l'ordre suivant : 9, 4, 5, 8, 3, le résultat sera trié comme tel :
4 - Article 4 9 - Article 9 5 - Article 5 8 - Article 8 3 - Article 3
En incorporant la fonction FIELD() dans la clause ORDER BY, les développeurs peuvent récupérer efficacement les résultats ordonnés à l'aide de MySQL IN (), même lorsque vous travaillez avec des valeurs d'identification numériques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!