Jag har en tabell (Games) där jag sparar spelarnas ID i fält (Player1ID, Player2ID etc.) för varje match. Jag hämtar sedan matcherna från Games och skriver ut alla fält Player1ID, Player2ID etc. Men hur kopplar jag spelarnas ID nummer med namnen från en annan tabell som heter Players där varje spelare ligger?
$get = mysql_query("
SELECT
Pla.Name as Player1Name,
Pla2.Name as Player2Name,
Pla3.Name as Player3Name,
Nig.Date,
Nig.HostID,
Nig.Player1ID,
Nig.Player2ID,
Nig.Player3ID
FROM
PokerNights Nig
INNER JOIN
PokerPlayers Pla
ON Pla.ID = Nig.Player1ID
INNER JOIN
PokerPlayers Pla2
ON Pla2.ID = Nig.Player2ID
INNER JOIN
PokerPlayers Pla3
ON Pla3.ID = Nig.Player3ID
");
Vet inte om detta är det mest optimala, inte heller testad.
Detta funkar, nästan! Min tabell (PokerNights) består av flera fält (Player1ID till Player20ID) eftersom det alltid är olika antal deltagare. Så säg att det är 6 deltagare, då blir ju 14 fält tomma, som bara innehåller en 0:a. När detta är fallet skrivs inget ut alls. Om jag istället bestämde i SQL-satsen att bara hämta de första 6 spelarna då funkar det prima. Går det att komma runt detta på något sätt?