Maison > Questions et réponses > le corps du texte
J'essaie de récupérer les enregistrements dans l'ordre dans lequel je pense qu'ils ont été consultés.
Mon code est le suivant :
Données à rechercher :
$to_check="Yes_ij_affirmation', ',_cm', 'there_px_ex', 'is_vbz_1', '._fs";
Sélectionnez la déclaration :
$sql = "SELECT wd, wd_ps2, rt1, rt4, definition FROM august_2022 WHERE wd_ps2 IN ($to_check) order by ".$to_check."";
Le résultat est (je l'ai mis dans une liste pour faciliter la comparaison avec le résultat original) :
Je ne sais pas si ce que j'essaie de faire est possible, mais les suggestions sont les bienvenues.
WW
P粉6383439952024-04-04 00:33:21
Vous devez ajouter des guillemets dans votre code
$to_check="'Yes_ij_affirmation', ',_cm', 'there_px_ex', 'is_vbz_1', '._fs'";
Et l'instruction select devrait ressembler à ceci :
$sql = "SELECT wd, wd_ps2, rt1, rt4, definition FROM august_2022 WHERE wd_ps2 IN ($to_check) order by " .$to_check;
P粉1314557222024-04-04 00:11:43
Vous devez ajouter des guillemets au début et à la fin de $to_check
.
Vous pouvez ensuite utiliser la fonction FIELD()
pour trier par position dans la liste.
$to_check="'Yes_ij_affirmation', ',_cm', 'there_px_ex', 'is_vbz_1', '._fs'"; $sql = "SELECT wd, wd_ps2, rt1, rt4, definition FROM august_2022 WHERE wd_ps2 IN ($to_check) order by FIELD(wd_ps2, $to_check)"