So nun habe ich eine echte Nuss zu knacken. Ich sitze an dem Problem bereits seit einigen Tagen und drehe mich im Kreis. Es geht ummer noch um eine Liga, Teams und Spiele. Stellt Euch einfach eine Fussballliga vor.
Es gibt Spieltage, an dem die verschiedenen Teams gegenaneinander antreten. (Weiß jeder)
Ich möchte nun in der Lage sein, Spieltage anzulegen. Dafür habe ich ein Formular das aus lauter Dropdownfeldern besteht. In jedem Dropdown sind alle Teams die zur Liga gehören auswählbar. Man geht nun also jedes Reihe durch und wählt jeweils Heimmanschaft und Gastmanschaft. Wenn am Ende alle Paarungen ausgewählt sind klickt man auf speichern.
So, nun die erste Feinheit. Eine Liga kann 8 Manschaften haben, eine andere nur 4. Bei 8 wären es also 4 Spiele, bei 4 Teams nur 2.
Das Formular muss also dynamisch erstellt werden.
Ich ermittle also erst die Anzahl der Teams und teile das dann durch 2.
Die Anzahl benutze ich in der Schleife, die die Dropdownfelder aufbaut.
Ok, danach kommt das Auslesen:
gebe ich jetzt mal $Spiele[$i] aus, bekomme ich alle 4 Werte (bei 4 Teams) angezeigt. So schön so gut. Ich möchte das nun aber in die DB schreiben, wobei im Datensatz jeweils Spieltag, Spielnr, Datum, Heimmanschaft, Gastmanschaft steht.
Ich muss also jeweils 2 zusammengehörige Werte haben (Heimmanschaft, Gastmanschaft)
Doch wie ist das Möglich? Ich habe es damit versucht:
Aber es waren am Ende immer alle 4 Werte drinn und kann ich wirklich hoffen dass die Werte alle sauber im Array gelandet sind und ich ohne spezielle Abfrage des Selectfeldes die Werte durchlaufen kann? Ich meine, wenn mal was schief läuft und ich das value vom select Match1 nach Match2 kommt im Array, ich wei? nicht ob das Möglich ist oder nicht, aber wenn dann würde natürlich alles durcheinander kommen. Muss ich also explizit die Felder mit den Namen checken, so dass ich sicher gehen kann das wirklich die richtigen Teams am Ende gegeneinander spielen?
Das ist wirklich knifflig, aber ich hoffe jemand hat einen Ansatz, wie man an so etwas rangeht. Vielen, vielen Dank im voraus. Ihr seit meine letzte grosse Hoffnung.
Es gibt Spieltage, an dem die verschiedenen Teams gegenaneinander antreten. (Weiß jeder)
Ich möchte nun in der Lage sein, Spieltage anzulegen. Dafür habe ich ein Formular das aus lauter Dropdownfeldern besteht. In jedem Dropdown sind alle Teams die zur Liga gehören auswählbar. Man geht nun also jedes Reihe durch und wählt jeweils Heimmanschaft und Gastmanschaft. Wenn am Ende alle Paarungen ausgewählt sind klickt man auf speichern.
So, nun die erste Feinheit. Eine Liga kann 8 Manschaften haben, eine andere nur 4. Bei 8 wären es also 4 Spiele, bei 4 Teams nur 2.
Das Formular muss also dynamisch erstellt werden.
Ich ermittle also erst die Anzahl der Teams und teile das dann durch 2.
Die Anzahl benutze ich in der Schleife, die die Dropdownfelder aufbaut.
PHP-Code:
$countDropdown=0;
for ($count=0;$count<$AmountTeams;$count++)
{
If ($row < 3)
{
echo '<td>';
echo '<select name="Match['.$countDropdown.'][LeagueMatches]">';
echo $Teams;
echo '</select>';
echo '</td>';
$row=$row+1;
$countDropdown=$countDropdown+1;
}
else
{
echo '</tr>';
echo '<br/>';
echo '<tr>';
$row=1;
}
PHP-Code:
for ($i=0; $i <count($_POST['Match']);$i++)
{ {
$Match[$i]=$_POST['Match'][$i];
$Spiele[$i]=$Match[$i]['LeagueMatches'];
}
Ich muss also jeweils 2 zusammengehörige Werte haben (Heimmanschaft, Gastmanschaft)
Doch wie ist das Möglich? Ich habe es damit versucht:
PHP-Code:
for ($k=0; $k < 1; $k++)
{
$Matches[$k]=$Match[$k]['LeagueMatches'];
$Spiel=array("Teams" => array("Home" => "'$Matches[0]'",
"Guest" => "'$Matches[1]'"));
}
Das ist wirklich knifflig, aber ich hoffe jemand hat einen Ansatz, wie man an so etwas rangeht. Vielen, vielen Dank im voraus. Ihr seit meine letzte grosse Hoffnung.
Kommentar