SELECT ... IN (...) Sortierung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SELECT ... IN (...) Sortierung

    Ich habe folgendes Problem und komme einfach nicht weiter.
    Falls ein ähnliches Problem schon besprochen wurde, würde mir ein Link auf entspechenden Thread reichen.

    Ich habe folgende SELECT-Abfrage (Beispiel):
    PHP-Code:
    ...
    $artikel_ids "33267,33254,33268,33261";
    $befehl "SELECT Artikel_Name FROM artikel WHERE Artikel_ID IN($artikel_ids)";
    $result mysql_query($befehl);
    while (
    $row mysql_fetch_row($result
      print(
    $row[0]."<br>");
    ... 
    Artikel_Name ist vom Typ Character, Artikel_ID vom Typ Integer.
    Die ID-Reihenfolge in $artikel_ids soll auch die Ausgabereihenfolge sein, also an Position 1 der Name zu Artikel_ID 33267, an Position 2 der Name zu Artikel_ID 33254 usw.
    Die tatsächliche Ausgabe-Reihenfolge ist aber eine andere. Ich weiß nicht, nach welchem Kriterium MySQL da sortiert .

    Vieleicht habt ihr eine Erklärung.

    Gruß
    Stephan
    [font=Verdana]SteGaSoft
    Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
    [/font]

  • #2
    kann man da nicht was mit
    Code:
    ... ORDER BY `Artikel_ID`
    einbauen?

    Kommentar


    • #3
      Re: SELECT ... IN (...) Sortierung

      Original geschrieben von sgt
      Ich weiß nicht, nach welchem Kriterium MySQL da sortiert
      MySQL sortiert natürlich überhaupt nicht, wenn kein Sortierkriterium angegeben wird.


      Für deinen Wunsch, die Datensätze nach der Reihenfolge der Artikel-IDs in $artikel_ids zu sortieren, könnte man vielleicht FIND_IN_SET() benutzen.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Danke schonmal für eure schnellen Antworten.

        @ penizillin
        Das würde mir die Sortierung zwar auf-/abwärts nach der ID liefern. Leider entspricht dies aber nicht der Reihenfolge wie in $artikel_ids.

        @ wahsaga.
        Die Funktion werde ich mir mal genauer ansehen.

        Gruß
        Stephan
        [font=Verdana]SteGaSoft
        Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
        [/font]

        Kommentar


        • #5
          ... ORDER BY FIND_IN_SET (Artikel_ID,'$artikel_ids');

          Das war's (und wieder was gelernt) .

          Dank an wahsaga.

          Gruß
          Stephan
          Zuletzt geändert von sgt; 26.09.2005, 12:19.
          [font=Verdana]SteGaSoft
          Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
          [/font]

          Kommentar

          Lädt...
          X