Implémenter le tri des données dans MariaDb en utilisant PHP et MYSQL
P粉085689707
P粉085689707 2024-04-03 12:44:47
0
2
583

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) :

  • Oui_ij_confirmé
  • there_px_ex
  • ._fs (devrait être le dernier)
  • ,_cm (devrait être le deuxième)
  • is_vbz_1 (devrait être le troisième)

Je ne sais pas si ce que j'essaie de faire est possible, mais les suggestions sont les bienvenues.

WW

P粉085689707
P粉085689707

répondre à tous(2)
P粉638343995

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粉131455722

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)"
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal