tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
595
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Dueddi Dueddi ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    7
    Hallo,

    ich will 2 Tabellen verknüpfen. Die Query ist auch ok. Leider weiß ich nicht genau, wie ich jetzt die Daten mit $row[] ausgeben kann. Da die verknüpften Tabellen gleiche Felder haben, kann ich ja nicht einfach $row['feldname'] eingeben, da ja 2 Felder gemeinst sein könnten.
    Wie kann ich PHP klar machen, welche Tabelle gemeint ist?

    Hier ist mein Quelltext:
    PHP-Code:
    include ("zugriff.php");

    $sql "SELECT * FROM tabelle1, tabelle2, tabelle3 WHERE tabelle1.name='Daniel' AND tabelle2.id=tabelle3.id";
    $result mysql_query($sql) or die(mysql_error());
    while (
    $row mysql_fetch_assoc($result)) {

    Vielen Dank schon mal im Vorraus,
    Daniel.
    Geändert von Dueddi (05.05.05 um 11:41 Uhr)
     

  2. #2
    Registriert seit
    May 2002
    Ort
    50.59° Nord 11.21° Ost
    Beiträge
    1.837
    Code :
    1
    
    select `tabelle1`.*, `tabelle2`.*, `tabelle3`.* from
     
    »

  3. #3
    Dueddi Dueddi ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    7
    Zitat Zitat von _voodoo
    Code :
    1
    
    select `tabelle1`.*, `tabelle2`.*, `tabelle3`.* from
    Der SELECT-Code stimmt doch!

    Ich will ja nur wissen, wie ich die Daten mit $row auslesen kann.
     

  4. #4
    Registriert seit
    May 2002
    Ort
    50.59° Nord 11.21° Ost
    Beiträge
    1.837
    Genauso wie bei Abfragen aus einer einzelnen Tabelle.
     
    »

  5. #5
    Dueddi Dueddi ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    7
    Da die verknüpften Tabellen gleiche Felder haben, kann ich ja nicht einfach $row['feldname'] eingeben, da ja 2 Felder gemeint sein könnten.
    Wie ich bereits geschrieben habe...
     

  6. #6
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.111
    Entweder du nimmst mysql_fetch_row
    dann kannst du über zahlen die felder ansprechen

    sprich $row[5] ist das 5. Datenbankfeld
    wenn also deine tabelle A 5 felder hat und ebenso die Tabelle B
    gibt es 10 Felder
    bei select * from tabellea, tabelleb
    ist $row[5] das letzte feld von deiner A Tabelle
    und $row[7] das 2. Datenfeld von der B Tabelle usw..


    oder du erweiterst dein Select und benennst ein paarDatenfelder um

    select tabellea.feld as afeld, tabelleb.feld as bfeld from tabellea , tabelleb .....

    dann mit $row['afeld']

    ansprechen
    Geändert von melmager (05.05.05 um 15:18 Uhr)
     

  7. #7
    Dueddi Dueddi ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    7
    Zitat Zitat von melmager
    Etweder du nimmst mysql_fetch_row
    dann kannst du über zahehen die felder ansprechen

    sprich $row[5] == 5 datenbankfeld
    Sorry, verstehe ich nicht ganz... Was ist die 5 hinter dem ==?
     

  8. #8
    Avatar von eLorFiN
    eLorFiN eLorFiN ist offline einfach rob
    Registriert seit
    Apr 2003
    Ort
    Rüsselsheim
    Beiträge
    171
    Bei mysql_fetch_row wird der Datensatz in ein indiziertes Array aufgeteilt.
    Wenn die Zeile also die Felder
    [elorfin] [tutorials.de] [2] enthält, sieht dein Array für diese Zeile so aus:
    ([0] => "elorfin" [1] => "tutorials.de" und [2] => 2)

    Arrays beginnen mit dem Index 0, also ist das erste Feld $array[0] usw.

    siehe:
    http://www.selfphp.info/funktionsref..._fetch_row.php
    bzw
    http://de.php.net/mysql_fetch_row

    btw: Das == wird wohl ein Missverständnis sein und soll bedeuten $row[5] ist der Inhalt des 6. Datenbankfeldes.
    Unglücklich formuliert.
    Geändert von eLorFiN (05.05.05 um 15:28 Uhr)
     
    Who controls the past controls the future. Who controls the present controls the past.
    - George Orwell, 1984

  9. #9
    Dueddi Dueddi ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    7
    Ok, Danke erstmal. Wird die Zähling des Array's dann auch bei den anderen Tabellen fortgesetzt?
    Also, wenn z.B. 2 Tabellen mit jeweils 3 Spalten selected wurden, kann man dann mit $row['3'] auf das erste Feld der 2. Tabelle zugreifen?
     

  10. #10
    Avatar von eLorFiN
    eLorFiN eLorFiN ist offline einfach rob
    Registriert seit
    Apr 2003
    Ort
    Rüsselsheim
    Beiträge
    171
    Bingo.
    Die Reihenfolge wird so festgelegt, wie du sie in der Abfrage formulierst.

    SELECT tab1.* , tab2.* ... bla

    wenn tab1 und tab2 je 3 Felder haben, ist dann deine $row[3] das erste Feld der zweiten Tabelle.
     
    Who controls the past controls the future. Who controls the present controls the past.
    - George Orwell, 1984

  11. #11
    Dueddi Dueddi ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    7
    Ok, vielen Dank
     

Ähnliche Themen

  1. Problem bei einem JOIN zw. zwei Tabellen, (Daten aus beiden Tabellen auslesen)
    Von CookieBuster im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 05.04.10, 22:20
  2. Daten aus 2 Tabellen auslesen
    Von himmelvergebenusw im Forum PHP
    Antworten: 7
    Letzter Beitrag: 02.04.08, 19:57
  3. wie sind flg. Tabellen miteinander verknüpft?
    Von d2mike im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 28.04.07, 18:37
  4. Daten aus 2 Tabellen auslesen
    Von nobaschwa im Forum PHP
    Antworten: 5
    Letzter Beitrag: 03.12.04, 12:02
  5. Daten aus 2 MySQL-Tabellen auslesen
    Von supercat1510 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 24.05.03, 20:53