Heim  >  Fragen und Antworten  >  Hauptteil

Implementieren Sie die Datensortierung in MariaDb mit PHP und MYSQL

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

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

WW

P粉085689707P粉085689707172 Tage vor339

Antworte allen(2)Ich werde antworten

  • P粉638343995

    P粉6383439952024-04-04 00:33:21

    你需要在代码中添加引号

    $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;

    Antwort
    0
  • P粉131455722

    P粉1314557222024-04-04 00:11:43

    你需要在$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)"

    Antwort
    0
  • StornierenAntwort