Implementieren Sie die Datensortierung in MariaDb mit PHP und MYSQL
P粉085689707
P粉085689707 2024-04-03 12:44:47
0
2
580

Ich versuche, die Datensätze in der Reihenfolge abzurufen, in der meiner Meinung nach auf sie zugegriffen wurde.

Mein Code lautet wie folgt:

Zu suchende Daten:

$to_check="Yes_ij_affirmation', ',_cm', 'there_px_ex', 'is_vbz_1', '._fs";

Anweisung auswählen:

$sql = "SELECT wd, wd_ps2, rt1, rt4, definition FROM august_2022 WHERE wd_ps2 IN ($to_check) order by ".$to_check."";

Das Ergebnis ist (ich habe es in eine Liste eingefügt, um den Vergleich mit dem Originalergebnis leichter erkennen zu können):

  • Ja_ij_bestätigt
  • there_px_ex
  • ._fs (sollte das letzte sein)
  • ,_cm (sollte das zweite sein)
  • is_vbz_1 (sollte der dritte sein)

Ich bin mir nicht sicher, ob das, was ich versuche, möglich ist, aber Vorschläge sind willkommen.

WW

P粉085689707
P粉085689707

Antworte allen(2)
P粉638343995

你需要在代码中添加引号

$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 " .$to_check;
P粉131455722

你需要在$to_check的开头和结尾添加引号。

然后你可以使用FIELD()函数按照列表中的位置进行排序。

$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)"
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage