Hasil Pesanan MySQL menggunakan Kaedah IN()
Apabila bekerja dengan tatasusunan PHP yang mengandungi nombor ID tersusun, anda mungkin perlu mendapatkan semula rekod yang sepadan daripada pangkalan data MySQL sambil mengekalkan susunan yang ditentukan. Ini boleh dicapai menggunakan kaedah MySQL IN(). Walau bagaimanapun, kaedah IN() lazimnya tidak mengekalkan susunan ID dalam keputusan.
Penyelesaian: Menggunakan Fungsi FIELD()
Untuk menyelesaikan isu ini , seseorang boleh menggunakan fungsi MySQL FIELD(). Walaupun secara tradisinya dikaitkan dengan manipulasi rentetan, fungsi FIELD() juga boleh digunakan dengan berkesan dengan nombor:
ORDER BY FIELD(field_name, 3,2,5,7,8,1)
Dalam contoh ini, klausa ORDER BY menggunakan fungsi FIELD() untuk menyusun semula keputusan berdasarkan tertib yang ditentukan dalam kurungan, memastikan bahawa rekod yang dikembalikan sepadan dengan jujukan ID dalam tatasusunan PHP.
Sebagai contoh, jika field_name mengandungi nombor ID dalam susunan berikut: 9, 4, 5, 8, 3, hasilnya akan diisih seperti berikut:
4 - Article 4 9 - Article 9 5 - Article 5 8 - Article 8 3 - Article 3
Dengan memasukkan fungsi FIELD() ke dalam ORDER BY klausa, pembangun boleh mendapatkan semula hasil tertib dengan berkesan menggunakan kaedah MySQL IN(), walaupun semasa bekerja dengan nilai ID angka.
Atas ialah kandungan terperinci Bagaimana untuk Memesan Keputusan MySQL Menggunakan Kaedah IN() dan Mengekalkan Pesanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!