Es geht um folgendes ich habe eine Ausgabe für einen Spielplan , es ist möglich das ein Team an einen Spieltag Spielfrei hat wenn es eine ungerade zahl an Teams gibt. Ich erstelle den Spielplan mit einer foreach Anweisung nun möchte ich aber das wenn es ein Spiel gibt wo ein Team Spielfrei hat dieses unter der Tabelle anzeigen und nicht in der Tabelle :
meine Idee war 2 mysql abfragen zu machen eine wo die Spiele ausgelesen werden die stattfinden und eine wo nur das Spiel ausgelesen wird was in Teamheim oder teamaus Spielfrei drin steht diese beiden in arrays zu stecken und dann anzuzeigen.
php code für die gesamte anzeige der Spieltag
Leider klappt das so nicht da anscheinend die beiden foreach schleifen nicht zusammen gehen bzw die erste gestoppt wird und nur der erste Spieltag angezeigt wird und das 14 mal.......
Sorry hab den falschen code gepostet
meine Idee war 2 mysql abfragen zu machen eine wo die Spiele ausgelesen werden die stattfinden und eine wo nur das Spiel ausgelesen wird was in Teamheim oder teamaus Spielfrei drin steht diese beiden in arrays zu stecken und dann anzuzeigen.
php code für die gesamte anzeige der Spieltag
PHP:
$sql = "
select *
from mhdl_liga
where liga = 'c1' and saison = ".SAISON." and teamheim != 'Spielfrei' and teamaus != 'Spielfrei'
order by runde asc";
$rs = mysqli_query($db_link, $sql);
//Array mit allen Runden => Spiele definieren
$runden = array();
while ($zeile = mysqli_fetch_array( $rs, MYSQL_ASSOC)){
$runden[$zeile['runde']][] = $zeile;
}
$sql1 = "
select *
from mhdl_liga
where liga = 'c1' and saison = ".SAISON." and teamheim = 'Spielfrei' or teamaus = 'Spielfrei'
order by runde asc";
$rs1 = mysqli_query($db_link, $sql1);
//Array mit allen Runden => Spiele definieren
$frei = array();
while ($zeile = mysqli_fetch_array( $rs1, MYSQL_ASSOC)){
$frei[$zeile['runde']][] = $zeile;
}
//Und dann den Rundenarray ausgeben
foreach($runden as $runde => $spiel){
foreach($frei as $runde => $freiis){
echo "<h3><center>Spieltag {$runde}</h3>";
echo("<center><table border=\"1\">\n");
echo "<tr class=colorGrey><th>Spieltag</th><th>Heimteam</th><th>Auswärtsteam</th><th>Spielort</th><th>Spieltag</th><th>Anwurf</th><th>Verlegt</th></tr>";
foreach($spiel as $spiele){
echo "<tr>";
echo "<td>{$spiele['runde']}</td>";
echo "<td>{$spiele['teamheim']}</td>";
echo "<td>{$spiele['teamaus']}</td>";
echo "<td>{$spiele['lokal']}</td>";
echo "<td>{$spiele['datum']}</td>";
echo "<td>{$spiele['time']}</td>";
echo "<td>{$spiele['verlegt']}</td>";
echo "</tr>";
}
echo "</table>";
foreach($frei as $runde => $freiis){
foreach($freiis as $freisein){
if ($freisein['teamheim'] != 'Spielfrei') {
echo "Spielfrei : <td> {$freisein['teamheim']}</td>";
}else{
echo "Spielfrei :<td>{$freisein['teamaus']}</td>";
}
}
}
}
Leider klappt das so nicht da anscheinend die beiden foreach schleifen nicht zusammen gehen bzw die erste gestoppt wird und nur der erste Spieltag angezeigt wird und das 14 mal.......
Sorry hab den falschen code gepostet
PHP:
$sql = "
select *
from mhdl_liga
where liga = 'c1' and saison = ".SAISON." and teamheim != 'Spielfrei' and teamaus != 'Spielfrei'
order by runde asc";
$rs = mysqli_query($db_link, $sql);
//Array mit allen Runden => Spiele definieren
$runden = array();
while ($zeile = mysqli_fetch_array( $rs, MYSQL_ASSOC)){
$runden[$zeile['runde']][] = $zeile;
}
$sql1 = "
select *
from mhdl_liga
where liga = 'c1' and saison = ".SAISON." and teamheim = 'Spielfrei' or teamaus = 'Spielfrei'
order by runde asc";
$rs1 = mysqli_query($db_link, $sql1);
//Array mit allen Runden => Spiele definieren
$frei = array();
while ($zeile = mysqli_fetch_array( $rs1, MYSQL_ASSOC)){
$frei[$zeile['runde']][] = $zeile;
}
//Und dann den Rundenarray ausgeben
foreach($runden as $runde => $spiel){
foreach($frei as $runde => $freiis){
echo "<h3><center>Spieltag {$runde}</h3>";
echo("<center><table border=\"1\">\n");
echo "<tr class=colorGrey><th>Spieltag</th><th>Heimteam</th><th>Auswärtsteam</th><th>Spielort</th><th>Spieltag</th><th>Anwurf</th><th>Verlegt</th></tr>";
foreach($spiel as $spiele){
echo "<tr>";
echo "<td>{$spiele['runde']}</td>";
echo "<td>{$spiele['teamheim']}</td>";
echo "<td>{$spiele['teamaus']}</td>";
echo "<td>{$spiele['lokal']}</td>";
echo "<td>{$spiele['datum']}</td>";
echo "<td>{$spiele['time']}</td>";
echo "<td>{$spiele['verlegt']}</td>";
echo "</tr>";
}
echo "</table>";
foreach($freiis as $freisein){
if ($freisein['teamheim'] != 'Spielfrei') {
echo "Spielfrei : <td> {$freisein['teamheim']}</td>";
}else{
echo "Spielfrei :<td>{$freisein['teamaus']}</td>";
}
}
}
}
Zuletzt bearbeitet von einem Moderator: