Jetzt Mitglied werden
Kostenlos registrieren und die vielen Vorteile der Webmasterpro-Mitgliedschaft nutzen.
Forum - Entwicklung
- Markup (HTML, XML, etc.) und CSS
- Skriptsprachen (PHP, Javascript, etc.)
- Datenbanken (SQL)
- CMS und Frameworks
- Flash und ActionScript
Info: Der Stern signalisiert, dass neue Beiträge vorhanden sind.
Alle Foren - Übersicht
Portal aktuelle Themen
Design aktuelle Themen
Server aktuelle Themen
- Webhosting und Webspace
- Betriebssysteme (Windows, Linux, etc.)
- Serveradministration
- Überwachung, Sicherheit und Backups
Management aktuelle Themen
Über Webmasterpro.de
Das Portal wird betrieben und entwickelt durch die Team23 Agentur. Die Augsbuger Agentur hat sich auf Community Software und die Entwicklung von Webportalen spezialisiert.
Datenbanken (SQL) - Forum
Derzeit sind Sie als Gast in unserem Forum aktiv. Für das Schreiben registrieren Sie sich bitte. Unser Forum ist eine Austauschplattform für Webworker zum Kommunizieren, Helfen, Informieren und Hilfe finden. Auf der rechten Seiten finden Sie eine Forenübersicht über alle Bereiche des Webmaster-Forums. Unterhalb finden Sie alle aktuellen Themen.
3 Tabellen zu einer ?!
Hallo Liebe Com.
Ich schreibe grade ein Skript für eine Online Liga.
Nun habe ich folgende Tabellen: cup,cup_member & cup_games,user
In der Tabelle Cup sind folgende Spalten: cup_id, cup_name, date_from, date_to
Hier werden der Namen und das Datum von wann bis wann das Turnier geht gespeichert.
cup_member enthält folgende Spalten: cup_id & user_id
Das soll die Tabelle sein, wo sich die User einschreiben können, hinterher durch die Website.
cup_id bezieht sich auf tabelle => cup , die user_id bezieht sich auf die tabelle user
In der Tabelle user werden halt normale Userinformationen gespeichert mit Nickname.
In cup_games habe ich folgende Spalten: cup_game_id,cup_id,user_i,user_id2,score_home,score_away
Nun möchte ich wenn ich ein Spielanlege, das ich bei den user_id, die user_id aus der tabelle user eintragen kann, so das ich hinterher auf der Website mir die Namen ausgeben lassen kann wer gegen wen spielt.
Das mit der ersten user_id bekomme ich ja hin, aber nicht mit der zweiten.
Vielleicht hat ja jemand einen Rat für mich ;)
Gruß und Danke
So sieht mein SQL Query aus:
1
2
3
4
5
6
7 | SELECT cup.cup_name, cup.cup_description, cup.date_from, cup.date_to, cg.cup_game_id, user.nickname, user2.nickname, cg.score_home, cg.score_away
FROM cup_games AS cg
INNER JOIN cup ON cg.cup_id = cup.cup_id
INNER JOIN user AS user2 ON cg.user_id2 = user2.user_id
INNER JOIN user ON cg.user_id = user.user_id
WHERE cup.publish = '1'
ORDER BY cup_game_id ASC
|
Und so frage ich das ganze per PHP ab:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php
while($games = mysql_fetch_assoc($cup_games_result)){
if($x == 0){
echo "Anzahl der Spiele im Cup: " . mysql_num_rows($games_count_result) . "<br \>";
echo "<div>" . $games['cup_name'] . "</div>";
$unixtime = strtotime($games['date_from']);
$unixtime2 = strtotime($games['date_to']);
echo "<div>" . date("d.m.y", $unixtime) . " - " . date("d.m.y", $unixtime2) . "</div><br \>";
}
echo "<div>";
echo '<div>' . $games["nickname"] . ' - ' . $games["nickname"] . ' - ' . $games["score_home"] . ':' . $games["score_away"] . '</div>';
echo "<br \></div>";
$x++;
}
mysql_close();
?>
|
Das klappt auch alles wunderbar, nur leider zeigt der mir nicht zweimal die Nicknamen an.
Name von User_ID 1 - Name von User_ID 1
Name von User_ID 2 - Name von User_ID 2
Name von User_ID 3 - Name von User_ID 3
und die Partien die ich angelegt habe lauten:
Cup_Game_ID 1:
User_ID = 1 - Nickname: Spieler1
User_ID2 = 2 - Nickname: Spieler2
Score_Home = 3
Score_Away = 0
Cup_Game_ID 2:
User_ID = 3 - Nickname: Spieler3
User_ID2 = 4 - Nickname: Spieler4
Score_Home = 2
Score_Away = 4
Irgendwie komisch das er das nicht ausgibt.
Die Ergebnisse passen, nur die Nicknames zu den Partien nicht.
Habe es selber gelöst.
Das problehm war, das Nickname zweimal benutzt wurde und somit fehlte es an der Beziehung zwischen den Namen.
Habe das SQL SELECT wie folgt angepasst:
1 | SELECT cup.cup_name, cup.cup_description, cup.date_from, cup.date_to, cg.cup_game_id, user.nickname, user2.nickname AS nick, cg.score_home, cg.score_away
|
Das war echt so einfach -.-


