Jag håller på att skriva ut en laguppställning på en bild av en fotbollsplan. Jag har angett spelarna i en tabell och vilka positioner de har hämtas via ett ID på positionerna från en annan tabell.
Jag undrar dock hur jag skriver ut alla spelarna på en gång för att sedan sätta ut dem på rätt plats på plan?
I dagsläget skulle jag kunna lösa det genom att göra en SELECT sats för varje position och använda WHERE Position = 29, där t.ex. 29 = AC (Anfallare Center). Men då kommer jag att behöva göra 11 SELECT satser med olika WHERE Position = XX, och det känns som det kanske finns en bättre lösning?
Så, hur hämtar jag alla spelarna (som har rätt GameID för den aktuella matchen) samtidigt och även positionerna som används för den aktuella uppställningen?
Detta är koden jag använder för att hämta en spelare med position 29:
<?php
// Öppna databasen
require 'includes/db.php';
// Hämta matchens ID
$ThisGameID = $_GET['ID'];
// Hämta spelaren på rätt position
$get = mysql_query("SELECT Pl.ID, Pl.Firstname, Pl.Lastname, Li.PlayerID, Li.GameID, Li.Captain, Li.Position, Po.ID AS PositionID, Po.Name
FROM Lineups Li
LEFT JOIN Players AS Pl ON Pl.ID = Li.PlayerID
LEFT JOIN Positions AS Po ON Po.ID = Li.Position
WHERE Li.GameID = '$ThisGameID' && Li.Position = 29");
while($row = mysql_fetch_array($get))
{
// Hämta från Players
$ID = $row['ID'];
$Firstname = $row['Firstname'];
$Lastname = $row['Lastname'];
// Hämta från Lineups
$PlayerID = $row['PlayerID'];
$GameID = $row['GameID'];
$Captain = $row['Captain'];
$Position = $row['Position'];
// Hämta från Positions
$PositionID = $row['PositionID'];
$Name = $row['Name'];
echo "<!-- #### START TABELL - PLAN #### -->";
echo "<table style=\"width: 550px; height: 400px; background-image: url('images/field.gif')\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">";
echo "<tr>";
echo "<td style=\"width: 550px; height: 80px; padding: 0px; text-align: center\">";
echo "<span class=\"field\">$Firstname $Lastname</span>";
echo "</td>";
echo "</tr>";
}
// Stäng databasen
mysql_close($open);
?>
Jag försökte vara så tydlig som möjligt, men det kanske är svårt att förstå vad jag menar?