Ankündigung

Einklappen
Keine Ankündigung bisher.

Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab

Einklappen

Neue Werbung 2019

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

  • Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab

    Hallo,

    wenn ich eine Abfrage an die Datenbank mache und die Ergebnisse später dann so anzeigen lasse wie unten im Code gezeigt , funktioniert das auch.

    Nur wenn ich später im Script irgendwo nochmal das gleiche Ergebnis von der Abfrage haben möchte, funktioniert es nicht mehr.


    Code:
    while($row = mysql_fetch_array($result)) {
      echo "$row["Spalte1"]";
    }

    Sprich wenn ich den Code so ausführe wie unten geizeigt, zeigt es mir nur das Ergebnis aus der ersten Abfrage an.
    Löscht es vielleicht die Varibale oder woran kann das liegen ?

    Code:
    <?php
    while($row = mysql_fetch_array($result)) {
      echo "$row["Spalte1"]";
    }
    
    ?>
    
    
    
    
    
    <?php
    while($row = mysql_fetch_array($result)) {
      echo "$row["Spalte1"]";
    }
    ?>

    Und wie macht man eine Abfrage aus mehreren Tabellen (die aber nichts miteinander zu tun haben) am effektifsten.

    Bisher habe ich einfach immer eine neue Abfrage gemacht :

    Code:
    $result = mysql_query("SELECT Spalte5 FROM Tabelle1");
    $result2 = mysql_query("SELECT Spalte8 FROM Tabelle2");
    usw...
    Dann habe ich mal probiert das in eine Abfrage zu packen :

    Code:
    $result = mysql_query("SELECT t1.splate5 as t15, t2.sp5 as t25 FROM Tabelle t1, Tabelle t2 ");
    Das brachte aber überhautpnichts.
    Wenn ich dann die Spalte auslass, wurde jede Zeile ungefähr zwanzig mal wiederholt ausgegeben.

  • #2
    Im zweiten Code sind das ja zwei identische Ausdrücke.
    Wenn du schreibst
    Code:
    while($row = mysql_fetch_array($result))
    weist du der Variablen $row gleich den Wert mysql... zu ($row ist ein Array).
    Wenn du das gleiche Statement (mit $row) so nochmal schreibst, wird der alte Inhalt von $row gelöscht und mit dem neuen überschrieben. Lösung: nimm einfach $row1 und $row2.

    Das mit den zwei Abfragen passt schon so. In eine Abfrage müsstest du das packen, wenn du einen Tabellen-Join machen wolltest, sprich :

    Code:
    mysql_query("SELECT t1.sp1 as t11, t1.sp2 as t12, t2.sp1 as t21,  FROM t1, t2 WHERE t12 = t21")


    Grüße Franz

    Franz

    Kommentar


    • #3
      danke für die Antwort aber das funktioniert leider auch nicht

      Kommentar


      • #4
        Zu Punkt 1.
        mysql_data_seek() ist dein Freund.

        Zu Punkt 2.
        UNION All

        Kommentar


        • #5
          DANKE, funktioniert wunderbar.

          Kommentar

          Lädt...
          X