Hallo zusammen,
ich habe ein Problem mit dem hinzufügen von Daten in meiner Datenbank.
Ich finde es ein wenig kompliziert und hoffe das mir jemand helfen kann.
Bevor ich hier ewig rede zeige ich mal ein wenig code.
foreach($db->multiQuery("SELECT * FROM spieltag WHERE spieltag_liga_id='".$getliga_id."' AND trash='0' ORDER BY tb_spieltag_id ASC") as $value)
{
foreach($value as $key => $val) // Inhalt des Array-Elements in der Variable mit dem Array-Key als Namen speichern...
$$key = $val;
$data = $db->singleQuery("SELECT verein_name FROM verein WHERE tb_verein_id='".$spieltag_verein_id_heim."'");
foreach($data as $key => $value) // Inhalt des Array-Elements in der Variable mit dem Array-Key als Namen speichern...
$$key = $value;
{
$heim = $verein_name;
}
$data = $db->singleQuery("SELECT verein_name FROM verein WHERE tb_verein_id='".$spieltag_verein_id_aus."'");
foreach($data as $key => $value) // Inhalt des Array-Elements in der Variable mit dem Array-Key als Namen speichern...
$$key = $value;
{
$aus = $verein_name;
}
//genierien der felder mit den vom admin eingestellen werten
$quote_inc = $db->singleQuery("SELECT quoten FROM configs WHERE id='3'");
$felder = "";
for ($i=0; $i <=$quote_inc['quoten']; $i+=0.05)
{
$felder .= "<option value='$i'>$i</option>";
}
//felder für wettanbieter generieren
$quote_anbieter_felder = "";
foreach($db->multiQuery("SELECT id,anbieter_name FROM quote_anbieter ORDER BY anbieter_name ASC") as $value)
{
foreach($value as $key => $val)
$$key = $val;
$quote_anbieter_felder .= "<option value='$id'>$anbieter_name</option>";
}
//ausgabe der felder
$content .= "
<input type='hidden' name='spieltag_id[]' value='".$tb_spieltag_id."' />
<tr style='margin-top:3px; padding-top:9px;'>
<td style='margin-top:3px; padding-top:9px;'>$heim</a></td>
<td style='margin-top:3px; padding-top:9px;'>$aus</td>
<td align='right' style='margin-top:3px; padding-top:9px;'><select name='heim[]'>$felder</select></td>
<td align='right' style='margin-top:3px; padding-top:9px;'><select name='remie[]'>$felder</select></td>
<td align='right' style='margin-top:3px; padding-top:9px;'><select name='aus[]'>$felder</select></td>
<td align='right' style='margin-top:3px; padding-top:9px;'><select name='anbieter[]'>$quote_anbieter_felder</select></td></tr>";
}
Alles anzeigen
Also der Code von oben erstellt schon mal meine Formularfelder dynamisch her, dies klappt auch ohne Probleme. Beim Eintragen habe ich nun aber schwierigkeiten mit der Verarbeitung der Arrays. Einzele Arrays kann ich ausgeben und in die DB schreiben, aber sobald es mehre werden bekomme ich Probleme mit den Schleifen.
Hier mein INSERT mit der Schleifen:
foreach($_POST['spieltag_id'] as $value)
{
foreach($_POST['heim'] as $value1)
{
foreach($_POST['aus'] as $value2)
{
foreach($_POST['remie'] as $value3)
{
$db->actionQuery
("INSERT INTO quoten (quoten_spieltag_id,quoten_heim,quoten_aus,quoten_remie)
VALUES ('".$value."','".$value1."','".$value2."','".$value3."')");
}
}
}
}
Alles anzeigen
Problem ist halt das ich jetzt 219 Seiten voll mit Einträgen erhalte, da jede Schleife immer wieder durchgangen wird. Wie kann ich die Daten richtig in die Datenbank schreiben? Das Problem sind die 4 foreach-Schleifen. Könnte man es auf eine Schleife reduzieren?
Habe schon einiges probiert, aber ohne Erfolg. Freue mich auf jede Anwort.