Daten aus 2 Tabellen verknüpfen

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

  • Daten aus 2 Tabellen verknüpfen

    Hallo,

    ich grübel nun schon ein paar Stunden über dem Problem, habe mich mal an "Joins" gewagt, kam aber auch da nicht weiter.
    Mein Problem:

    Über ein Select Formular wird ein Squad ausgewählt, dessen Value beträgt die SquadID. Anschliessend wird das Formular mittels onSubmit() abgeschickt.
    Nun sollen in einem 2. Select nur die Player stehen, die auch dem Squad angehören.
    Würde die SquadID direkt in der Tabelle users jedem User zugeordnet sein, wäre das kein Problem, da aber jeder User in mehreren Squads vertreten sein kann, brauch ich eine extra Tabelle, in der den Squads die Player zugeteilt werden.
    Wie also kann ich es schaffen, den Usernamen anhand der UserID in der Tabelle squad auszulesen/anzuzeigen?


    Tabellen:

    PHP-Code:
    squad
    +-----------+------------+
    squadID   userID     |
    +-----------+------------+
    |  
    1        1          |                 
    |  
    1        2          |
    |  
    1        3          |
    |  
    2        1          |
    +-----------+------------+


    users
    +-----------+------------+
    userID    userName   |
    +-----------+------------+
    |  
    1        Fritz      |                 
    |  
    2        Marco      |
    |  
    3        Dirk       |
    |  
    4        Heino      |
    +-----------+------------+ 

  • #2
    Wenns mit JOIN nicht geklappt hat warum hast du es denn nicht mittels einer zweiten Abfrage probiert ?
    PHP-Code:
    //1. Abfrage
    $sql "SELECT userID FROM squad WHERE squadID=POST_WERT";
    $res mysql_query($sql);
    $id = array();
    while(
    $re=mysql_fetch_array($res)){
        
    $id[] = implode('',$re['userID']);
    }
    //2.Abfrage
    $sql "SELECT userName FROM users WHERE userID IN(".implode(',',$id).")"
    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Re: Daten aus 2 Tabellen verknüpfen

      SELECT a.* FROM users a INNER JOIN squad b ON a.userID = b.userID WHERE b.squadID = 5
      müsste gehen, wenn ich schon wach bin ^^,

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Mit 2 Abfragen hatte ich es schon probiert, aber irgendwie war morgens um 5 die Luft raus.. teilweise vergaß ich nur eine Klammer (})
        zu schliessen, und saß da über 1 Stunde und fand den fehler nicht.

        Ich werd mal beide Varianten ausprobieren, Danke!

        Kommentar

        Lädt...
        X