Array MySQL Abfrage

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

  • Array MySQL Abfrage

    Hey,
    Ich möchte eine MySQL Abfrage machen, in der alle Werte einer Spalte ausgegeben werden bei denen ein anderer Wert einem von mehreren Werten aus einem Array gleicht. Wie muss ich das dann machen?

    Prinzipiell stell ich mir das etwa so vor:
    PHP:
    $ids = array("1", "2");
    mysql_query("SELECT Wert FROM Tabelle WHERE id = $ids");
    (...)
    echo $a['Wert'];

    MySQL:
    id --- Wert
    -------------
    1 - O.
    2 - K.

    Ausgabe:
    O.K.

    Wäre echt nett wenn ihr mir da helfen könntet,
    Jakom
    [COLOR=#000000][COLOR=#0000BB]
    [/COLOR][COLOR=#007700]
    [/COLOR][/COLOR]

  • #2
    Schau dir die IN()-Syntax an.

    Die mysql_* Funktionen sind übrigens veraltet und sollten nicht mehr verwendet werden. Verwende stattdessen mysqli oder PDO.

    Kommentar


    • #3
      So, ich hab das jetzt so gelöst:

      mysql_query = ('SELECT * FROM xxx WHERE xxx IN (' . implode(',', xxx) . '));

      Jetzt würde ich das gerne noch nach der Zeit ordnen. Das hier funktioniert nicht:
      mysql_query = ('SELECT * FROM x WHERE x IN (' . implode(',', $x) . ') ORDER BY x DESC);

      Kommentar


      • #4
        Was hier nicht funktioniert, sind Problembeschreibungen, die nur „funktioniert nicht“ lauten.

        Bitte beschreibe was genau passiert, welche Fehlermeldungen du ggf. bekommst – und gestalte auch deine Beispiele etwas nachvollziehbarer (du verwendest an vier Stellen „x“, als Tabellen-, Spalten- und Variablenname – und wir müssen jetzt raten, was wo welchen Wert haben könnte).
        Zuletzt geändert von wahsaga; 05.08.2013, 15:45.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ich finde die Problembeschreibung war eigentlich sehr eindeutig. Aber naja das soll jetzt nicht das Problem sein.

          Habe das Problem jetzt aber auch gelöst. Das Problem war die "/'-Setzung.

          So ist mein Script jetzt:
          $var = implode(',', $array);
          mysql_query = ('SELECT * FROM x WHERE x IN ($var) ORDER BY x DESC);

          Kommentar


          • #6
            ... und den Hinweis, dass die mysql_* Funktionen stark veraltet sind und einen deprecated Hinweis auslösen, hast Du gekonnt überlesen. Beschäftige Dich mit dem Thema mysqli_* oder sofort PDO. Ansonsten stehst Du mit Deiner Lösung relativ schnell vor dem nächsten Problem.
            MM Newmedia | MeinBlog

            Kommentar


            • #7
              Hey,

              Ich wollte mit meiner Antwort hier niemanden beleidigen, aber ich fand das hier die Kritik sehr schnell kam. MySqli/PDO schaue ich mir natürlich an, da muss ich mich aber erstmal einlesen.

              Vielen Dank trotzdem für die Hilfe,
              Jakom

              Kommentar

              Lädt...
              X