php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen
Alt 21.03.2009, 10:43  
Erfahrener Benutzer
 
Registriert seit: 05.01.2009
Beiträge: 787
PHP-Kenntnisse:
Fortgeschritten
splasch muss sich bessernsplasch muss sich bessern
Standard Spieler Liste mit und ohne Clan Namen Anzeigen lassen

Ich steh momentan etwas an. Ich möchte eine Liste ausgeben aller Spieler und den zugehörigen Clan. Soweit auch kein Problem nur möchte ich auch die Spieler ausgeben die in keinen Clan sind.

Mit dem Sql Befehl:
PHP-Code:
SELECT 
             username
lvlinsgexpstatus,gild_name 
            FROM 
             accounts
,game_char,gilden_user,gilden 
            WHERE 
             user_id
=game_char.f_userid AND
             
user_id=gilden_user.f_userid AND
             
gilden_id f_gildenid 
Erhalte ich nur Einträge von Spieler die im Clan sind. Das Problem an der Sache ist Spieler die nicht im Clan sind haben auch keinen Eintrag in der gilden_user Tabelle wodurch sie dann nicht geliste werden.

Hab ich da einen Denkfehler im aufbau der Datenbank drin oder kann man das über einen Sql irgendwie lösen das beides auf einmal ausgeben wird.
Also alle Spieler und deren Clanname oder eben kein Clanname wenn er in keinen Clan ist aber der Spieler soll trozdem auch gelistet werden.

Ist es möglich die Daten mit einem Sql abzufragen oder muß ich einen umweg über 2 Sql befehle gehen.

Im Anhang ein Diagram der Datenbank.

Mfg Splasch
Angehängte Grafiken
Dateityp: jpg diagram.jpg (8,8 KB, 708x aufgerufen)
splasch ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.03.2009, 11:26  
Erfahrener Benutzer
 
Registriert seit: 05.09.2007
Beiträge: 5.041
David wird schon bald berühmt werden
Standard

Dann kannst Du statt des INNER JOINs ein LEFT JOIN verwenden.
David ist offline   Mit Zitat antworten
Alt 21.03.2009, 12:13  
da schreibt der ElePHPant
 
Registriert seit: 18.06.2008
Beiträge: 10.043
PHP-Kenntnisse:
Fortgeschritten
Flor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende Zukunft
Standard

Meinst du irgendwer kann aus deinem Diagramm etwas herauslesen? Bissl klein oder?

Und zu Davids Post, INNER JOIN verwendest du hier weil du die Tabellen alle in FROM mit Komma trennst, das ist im Endeffekt ein INNER JOIN. Und daher solltest du dich mit LEFT JOIN auseinander setzen.
Flor1an ist offline   Mit Zitat antworten
Alt 21.03.2009, 12:27  
Erfahrener Benutzer
 
Registriert seit: 05.01.2009
Beiträge: 787
PHP-Kenntnisse:
Fortgeschritten
splasch muss sich bessernsplasch muss sich bessern
Standard

Zitat:
Meinst du irgendwer kann aus deinem Diagramm etwas herauslesen? Bissl klein oder?
Ja leider hat das Forum das automatisch verkleinert werd schaun das ich das auf einen Server spiele und dann den Link hier Posten.
Diagram: http://lostheaven.bg-entwicklung.de/diagram.png

Solang ich die Tabelle gilden raus lasse bekomm ich alle Spieler. Wenn ich den Fremdkey f_gildenid aus der Tabelle gilden_user einbeziehe bekommt ich nur mehr die Spieler die in einer Gilde sind.

Lass ich die Fremdkey zuordnung weg dann sind alle Spieler in der selben gilde was ja dann auch net Stimmt.

Hier bekomm ich nur Spieler aus der Gilde:
PHP-Code:
SELECT 
  username
,gild_name
FROM 
 accounts
 LEFT JOIN gilden_user ON accounts
.user_id gilden_user.f_userid,
 
gilden
WHERE 
 gilden_id 
f_gildenid 
Und und hier wenn ich dem Fremdkey nicht zu ordne alle Spieler aber alle auch mit dem selben Gilden Namen

PHP-Code:
SELECT  
 username
,gild_name
FROM 
 accounts
 LEFT JOIN gilden_user ON accounts
.user_id gilden_user.f_userid,
 
gilden 
Irgendwie bekomm ich das mit den 3 Tabellen nicht zusammen.
Muß ich da auf die Gilden Tabelle auch einen LEFT JOIN schreiben und diese auf dem Fremdkey von der Gilden_user Tabelle gleich setzen?

Mfg Splasch

Geändert von splasch (21.03.2009 um 12:49 Uhr).
splasch ist offline   Mit Zitat antworten
Alt 21.03.2009, 12:50  
da schreibt der ElePHPant
 
Registriert seit: 18.06.2008
Beiträge: 10.043
PHP-Kenntnisse:
Fortgeschritten
Flor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende ZukunftFlor1an hat eine strahlende Zukunft
Standard

Ja mach bei gilden auch einen LEFT JOIN
Flor1an ist offline   Mit Zitat antworten
Alt 21.03.2009, 13:18  
Erfahrener Benutzer
 
Registriert seit: 05.01.2009
Beiträge: 787
PHP-Kenntnisse:
Fortgeschritten
splasch muss sich bessernsplasch muss sich bessern
Standard

Danke

So dürfte es Funktionieren:

PHP-Code:
SELECT  
 username
,gild_name
FROM 
 accounts
 LEFT JOIN gilden_user ON accounts
.user_id gilden_user.f_userid 
 LEFT JOIN gilden ON f_gildenid
=gilden.gilden_id 
Zusammen alles:
PHP-Code:
SELECT  
 username
,gild_name,lvl,insgexp,status
FROM 
 accounts
 LEFT JOIN gilden_user ON accounts
.user_id gilden_user.f_userid 
 LEFT JOIN gilden ON gilden_user
.f_gildenid=gilden.gilden_id,
 
game_char
WHERE
 user_id
=game_char.f_userid 
 ORDER BY insgexp DESC 
Mfg Splasch

Geändert von splasch (21.03.2009 um 13:23 Uhr).
splasch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Namen die durch Kommas gerennt sind in Links umwandeln PHP Tipps 2005-2 3 14.07.2005 20:29
[Erledigt] DropDown Liste auf einmal anzeigen. HTML, Usability und Barrierefreiheit 4 15.06.2005 14:59
Bilder nach Namen anzeigen PHP Tipps 2005 11 06.03.2005 15:41
Menü klicken und den Namen der Rubrik anzeigen PHP Tipps 2005 14 16.02.2005 12:13
Liste in Textarea einfügen HTML, Usability und Barrierefreiheit 0 03.01.2005 19:16
Input mit gleichen Namen = Liste?? PHP Tipps 2004-2 2 11.11.2004 16:51
Auswerten und in Tabelle einfügen PHP Tipps 2004 3 04.06.2004 16:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
clannamen liste, clan namen, clannamen, clannamen fürs spiel, deutsche clannamen, gildennamen liste, clan namen vorschläge, clan name, clannamen vorschläge, clan namen liste, gute clannamen, clan namen fürs spiel, cod clannamen, spielerliste, clanname, clan namen cod, deutsche clannamen liste, gute clan namen, deutscher clan name, liste mit clan namen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum