Marco: MYSQL Zeile ausgeben

MYSQL Version: MySQL - 5.0.51a-24+lenny3

Hallo,

ich habe da ein Problem mit dem auslesen bestimmter zeilen.
Ich habe folgende Spalten in meiner Tabelle:
id, field_id, values

Ich möchte jetzt gerne alle values ausgeben lassen, mit der field_id "22".

Das könnte ich jetzt zb. über die MYSQL Abfrage mache zb. so:

$ergebnis=mysql_query("SELECT value as va FROM test WHERE field_id = 22");  
while($ausgabe = mysql_fetch_array($ergebnis)) {  
	  echo $ausgabe['va'];  
	 }

Das Problem ist nur das ich mehrere values ausgeben möchte.
Dafür brauche ich denn auch immer eine anderen field_id.

Ich könnte natürlich jetzt für jede field_id eine neue MYSQL abfrage machen. Jedoch müsste ich dann auch immer eine neue While-Schlife schreiben.

Lange Rde kurzer Sinn:

Wie kann ich mit einer MYSQL Abfrage und 1einer While-Schleife die verschiedenen values ausgeben lassen?

Ich hoffe ihr könnt mir bei meinem kleinen Problem behilflich sein.

Vielen Dank

mfg

Marco

  1. Hallo,

    Ich möchte jetzt gerne alle values ausgeben lassen, mit der field_id "22".

    $ergebnis=mysql_query("SELECT value as va FROM test WHERE field_id = 22");

    while($ausgabe = mysql_fetch_array($ergebnis)) {
      echo $ausgabe['va'];
    }

      
      
    
    > Wie kann ich mit einer MYSQL Abfrage und 1einer While-Schleife die verschiedenen values ausgeben lassen?  
      
    so ziemliches jedes SQL-Dialekt und selbstverständlich auch der von MySQL kennt den [IN](http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in)-Operator.  
      
    Wenn die ID-Werte aus einer anderen Abfrage stammen, wäre es vermutlich eine gute Idee, Subselects oder Joins zu verwenden.  
      
      
    Freundliche Grüße  
      
    Vinzenz
    
    1. Hallo,

      Wie kann ich mit einer MYSQL Abfrage und 1einer While-Schleife die verschiedenen values ausgeben lassen?

      so ziemliches jedes SQL-Dialekt und selbstverständlich auch der von MySQL kennt den IN-Operator.

      Wenn die ID-Werte aus einer anderen Abfrage stammen, wäre es vermutlich eine gute Idee, Subselects oder Joins zu verwenden.

      Das hört sich doch schonmal sehr gut an.
      Aber wie frage ich die bzw. die ID jetzt mit PHP ab?
      Leider konnte ich kein Beispiel dazu finden.

      Oder gibt es da auch was diekt mit PHP?

      Vielen Dank

      mfg

      Marco

      1. Hi,

        Aber wie frage ich die bzw. die ID jetzt mit PHP ab?

        Wenn dich die ID der Datensätze, die von deinem Select-Statement ausgewählt werden, für die weitere Verarbeitung interessiert - dann gebe auch die Spalte id bei den Spalten, die du auslesen willst, mit an.

        Und wenn du weitere Fragen dieser Art hast - dann schau bitte erst mal in ein Anfänger-Tutorial.

        MfG ChrisB

        --
        The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
        1. Hallo ChrisB,

          Wenn dich die ID der Datensätze, die von deinem Select-Statement ausgewählt werden, für die weitere Verarbeitung interessiert - dann gebe auch die Spalte id bei den Spalten, die du auslesen willst, mit an.

          Warum die ID? Die ID, zählt jedes Feld in der DB. Also hat nur einen Zählungswert. Ich denke mal du meinst bestimmt field_id.

          Und wenn du weitere Fragen dieser Art hast - dann schau bitte erst mal in ein Anfänger-Tutorial.

          Ich habe mir mehrere Anfänger-Tutorials angesehn.
          Auch habe ich auf http://www.schattenbaum.net alle Tutorials durch.

          Jedoch finde ich kein Beispiel, was mir zeigt, wie ich die Daten in PHP ausgeben lasse.

          mfg

          Marco

          1. Hi,

            Warum die ID?

            Weil du gerade eben nach genau der gefragt hast, du Spaßvogel ...?

            Ich habe mir mehrere Anfänger-Tutorials angesehn.
            Auch habe ich auf http://www.schattenbaum.net alle Tutorials durch.

            Jedoch finde ich kein Beispiel, was mir zeigt, wie ich die Daten in PHP ausgeben lasse.

            Das genannte MySQL-Tutorial auf schattenbaum.net enthält extra ein Kapitel, das in der Unter-Navigation mit Daten ausgeben verlinkt ist.

            MfG ChrisB

            --
            The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
            1. Hi,

              Warum die ID?

              Weil du gerade eben nach genau der gefragt hast, du Spaßvogel ...?

              Stimmt, sry.

              Das genannte MySQL-Tutorial auf schattenbaum.net enthält extra ein Kapitel, das in der Unter-Navigation mit Daten ausgeben verlinkt ist.

              Wie gesagt habe ich alle Tutorials durch.
              Diese ausgabe ist mir auch bekannt. Ich möchte aber nicht alle Spalten ausgeben sondern das Feld mit einer bestimmten Feld ID.
              Ein Beispiel:

              ID| field_id | value
              1 |    1     | wochenende
              2 |    3     | test
              3 |    4     | tage
              4 |    3     | monat

              Ich möchte jetzt alle mit der field_id "3" ausgeben lassen.
              Nur wie lasse ich die Daten in PHP ausgeben?

                
              $ergebnis=mysql_query("SELECT field_id as fid, value as va FROM test);  
              while($row = mysql_fetch_object($ergebnis))  
                {  
                  echo $row->fid;  
                }
              

              Damit spreche ich die Spalte an und lasse die komplette Spalte ausgeben.
              Ich möchte aber nicht die Spalte ausgeben lassen sondern die "values" mit der Bestimmten field_id.
              Wie würde der Code denn in PHP aussehen?

              Vielen Dank

              mfg

              Marco

              1. Hi,

                ID| field_id | value
                1 |    1     | wochenende
                2 |    3     | test
                3 |    4     | tage
                4 |    3     | monat

                Ich möchte jetzt alle mit der field_id "3" ausgeben lassen.
                Nur wie lasse ich die Daten in PHP ausgeben?

                Wieso stellst du diese Frage jetzt, wenn in deinem ganz zu Anfang geposteten Code doch bereits die für sowas zuständige WHERE-Klausel in der SQL-Abfrage vorhanden war?

                $ergebnis=mysql_query("SELECT field_id as fid, value as va FROM test);
                while($row = mysql_fetch_object($ergebnis))
                  {
                    echo $row->fid;
                  }

                
                >   
                > Damit spreche ich die Spalte an und lasse die komplette Spalte ausgeben.  
                  
                Kann es sein, dass du Zeilen und Spalten verwechslst bzw. gar nicht dazwischen unterscheidest?  
                  
                MfG ChrisB  
                  
                
                -- 
                The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
                
                1. Hi,

                  Wieso stellst du diese Frage jetzt, wenn in deinem ganz zu Anfang geposteten Code doch bereits die für sowas zuständige WHERE-Klausel in der SQL-Abfrage vorhanden war?

                  Ich weiß zwar wie das ganze in der SQL-Abfrage aussieht. Aber nicht wie ich es mit php ausgeben lassen kann.

                    
                  $ergebnis=mysql_query("SELECT value as va FROM test WHERE field_id IN (1,3,4)");  
                  while($row = mysql_fetch_object($ergebnis))  
                       {  
                        echo $row->va;  
                       }
                  

                  So sieht meine Abfrage jetzt aus.
                  Und wie kann ich jetzt die field_id ausgeben lassen?

                  Kann es sein, dass du Zeilen und Spalten verwechslst bzw. gar nicht dazwischen unterscheidest?

                  Spalte ist bei mir zb. id, field_id, value
                  Zeilen sind zb. die einträge von der field_id 1,3,4.

                  mfg

                  Marco

                  1. Hi,

                    $ergebnis=mysql_query("SELECT value as va FROM test WHERE field_id IN (1,3,4)");

                    while($row = mysql_fetch_object($ergebnis))
                         {
                          echo $row->va;
                         }

                    
                    >   
                    > So sieht meine Abfrage jetzt aus.  
                    > Und wie kann ich jetzt die field\_id ausgeben lassen?  
                      
                    Genauso, wie value. Füge es Liste der zu selektierenden Spalten hinzu, und gebe es analog aus.  
                      
                    MfG ChrisB  
                      
                    
                    -- 
                    The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
                    
                    1. Hi,

                      So sieht meine Abfrage jetzt aus.
                      Und wie kann ich jetzt die field_id ausgeben lassen?

                      Genauso, wie value. Füge es Liste der zu selektierenden Spalten hinzu, und gebe es analog aus.

                      Sry, verstehe echt nicht wie du das meinst.

                      Füge es Liste der zu selektierenden Spalten hinzu???
                      Analog ausgeben???

                      Das ist eine nummer zu hoch :D

                      mfg

                      Marco

                      1. Hi,

                        Genauso, wie value. Füge es Liste der zu selektierenden Spalten hinzu, und gebe es analog aus.

                        Sry, verstehe echt nicht wie du das meinst.

                        Füge es Liste der zu selektierenden Spalten hinzu???

                        Wie ist denn so ein SELECT-Statement aufgebaut?
                        Wenn dir die einzelnen Bestandteile nicht klar sind - zurück zum Tutorial bitte.

                        Analog ausgeben???

                        Was machst du denn derzeit in deiner Schleife?

                        MfG ChrisB

                        --
                        The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
                        1. Hi,

                          wie soll ich es denn Analog ausgeben ????????

                          Das ist doch mein Problem, jetzt sag nicht schon wieder ich soll die Tutorials nochmal durchgehen, wenn ich da kein genaues Beispiel finde.

                          mfg

                          Marco

                          1. Hi,

                            wie soll ich es denn Analog ausgeben ????????

                            „Analog“ bedeutete hier: Eigentlich ganz genauso, lediglich das Prinzip übertragen.

                            Das ist doch mein Problem, jetzt sag nicht schon wieder ich soll die Tutorials nochmal durchgehen, wenn ich da kein genaues Beispiel finde.

                            Du hast in deinem Code bereits die Ausgabe einer Spalte drin.
                            Dafür sind zwei Sachen wichtig - erstens, dass die SQL-Query der Datenbank sagt, dass sie diesen Wert liefern soll, und zweitens, dass PHP sich anschließend diesen Wert „nimmt“ und ausgibt.

                            Das *ist* bereits das „Beispiel“, das du benötigst - nachdem du *verstanden* hast, was in dem Code, den du bereits hast, passiert, brauchst du das nur noch für die zweite Spalte genauso - „analog“ - zu machen.

                            Ich verstehe dieses ständige Gejammer nicht, dass es kein „genaues Beispiel“ gäbe.
                            Was ist denn ein „genaues“ Beispiel - eins, wo man sich nicht mehr die Mühe machen muss, etwas zu verstehen, sondern das man nur noch per Copy&Paste übernehmen muss?

                            Es ist die Natur eines *Beispiels*, dass es nicht *exakt* das ist, was du brauchst/haben willst; aber wenn du es nachvollzogen und verstanden hast, dir das Prinzip klar ist - dann brauchst du es nur noch für deinen Fall entsprechend umsetzen.

                            Wenn du nicht willens oder in der Lage bist, dich damit zu beschäftigen, und es irgendwann auch zu verstehen - dann lass' das mit dem Programmieren lieber.

                            MfG ChrisB

                            --
                            The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]