Nach einem Join, die richtigen Variablen fetchen????

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

  • Nach einem Join, die richtigen Variablen fetchen????

    Ich weiss nicht ob das geht was ich machen will deshalb frag ich mal allgemein:

    AUSGANGSLAGE:
    3 Tabellen PERSONEN , NAMEN und STRASSEN
    ***********************
    personen:
    id-----name-----strasse
    1-----1-----------2------
    2-----2-----------1------
    ***********************
    namen:
    id-----vorname
    1-----Peter
    2-----Klaus
    ***********************
    strassen:
    id-----strassenname
    1-----Berliner Allee
    2-----Kölnerstrasse

    PHP-Code:
    $query="
    SELECT
         p.id,
         p.name,
         p.strasse,

         n.id,
         n.vorname,

         s.id,
         s.strassenname
    FROM
         personen AS p
    INNER JOIN
         namen AS n ON p.name=n.id
    INNER JOIN
         strassen AS s ON p.strasse=s.id
    "

    Wie kann ich mir jetzt die Tabelle personen wie folgt ausgeben:
    id-----name-----strasse
    1-----Peter------Kölnerstrasse
    2-----Klaus------Berliner Allee

    anstatt:
    id-----name-----strasse
    1-----1-----------2------
    2-----2-----------1------

    PHP-Code:
    $result mysql_query($query);
    while(
    $row mysql_fetch_???????($result)){
         echo 
    $row->p.id   ODER  $row->p.id     ." / ";
         echo 
    $row->n.vorname   ODER  $row[n.vorname]     ." / ";
         echo 
    $row->s.strassenname ODER  $row[s.strassenname]   ;
         echo 
    "<br>";
    }

    ODER 

    $result 
    mysql_query($query);
    while(
    $row mysql_fetch_???????($result)){
         echo 
    $row->p.id   ODER  $row->p.id     ." / ";
         echo 
    $row->p.name   ODER  $row[p.name]     ." / ";
         echo 
    $row->p.strasse ODER  $row[p.strasse]   ;
         echo 
    "<br>";

    Das Ergebniss sollte so aussehen(falls das wie gesagt überhaupt machbar ist):
    1 / Peter / Kölnerstrasse
    2 / Klaus / Berliner Allee


    Wenn das geht benutzte ich:
    mysql_fetch_array
    mysql_fetch_object
    ......

    Mit anderen Worten ich will die ID's aus der Tabelle Personen direkt mit den Werten aus den verknüpften Tabellen namen und strassen ausgeben.???!!??..?

    Bin gespannt ob ich da einfach nur rumspinne oder ob das geht.
    Zuletzt geändert von chris1980; 25.02.2008, 19:38.

  • #2
    Du hast allen nötigen Code aufgeführt - wo ist das Problem?
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      Code:
      SELECT
           p.id p_id,
           p.name p_name,
           p.strasse p_strasse,
           ...
      PHP-Code:
      ...
      ... 
      $row mysql_fetch_array($result) ...
      ...
      echo 
      $row['p_strasse'];
      ... 
      PHP-Code:
      ...
      ... 
      $row mysql_fetch_object($result) ...
      ...
      echo 
      $row->p_strasse;
      ... 
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        DANKE Abraxax.
        Da warst du ein paar Sekunden schneller bin selber gerade drauf gekommen.
        Das Problem hat mich ne lange Zeit beschäftigt und unnötig Code verursacht. Coole Sache Abraxax, Thx
        Jetzt weiß ich woran es liegt!!!!!!!!

        Ich muss den Spalten Aliasnamen zuweisen w.z.B

        PHP-Code:

        $query
        ="
        SELECT
             p.id p_id,
             p.name p_name,
             p.strasse p_strasse,

             n.id n_id,
             n.vorname n_vorname, 

             s.id s_id,
             s.strassenname s_strassenname
        FROM
             personen AS p
        INNER JOIN
             namen AS n ON p.name=n.id
        INNER JOIN
             strassen AS s ON p.strasse=s.id
        "

        Und die Felder über den Aliasnamen ansprechen.



        PHP-Code:

        $result 
        mysql_query($query);
        while(
        $row mysql_fetch_object($result)){
             echo 
        $row->p_id ." / ";
             echo 
        $row->n_vorname     ." / ";
             echo 
        $row->s_strassenname   ;
             echo 
        "<br>";


        Falls jemand das selbe Problem haben sollte.
        Zuletzt geändert von chris1980; 25.02.2008, 20:14.

        Kommentar

        Lädt...
        X