Salve a tutti...
ho un problema con la gestione di un form con array, e il suo passaggio al db.
IL form, creato a partire dal risultato di una query sul db, è questo:
Questo passa i dati alla pagina successiva che deve memorizzarli in una tabella del database, in cui tutti gli elementi degli array creati aventi lo stesso indice devono appartenere alla stessa riga.Codice PHP:
echo "<div>
<form name=\"partita\" method=\"post\" action=\"match_save.php\">
<fieldset>
<label>Partita giocata il</label>
<input type=\"text\" name=\"data\">
</fieldset>";
while ($row = mysql_fetch_array($result))
{
echo "<fieldset>
<legend>$row[nome] $row[cognome]</legend>
<input type=\"hidden\" name=\"id[]\" value=\"$row[id]\">
<label>Ruolo:</label>
<select name=\"ruolo[]\">
<option value=\"7\">---</option>
<option value=\"1\">Portiere</option>
<option value=\"2\">Difensore</option>
<option value=\"3\">Terzino</option>
<option value=\"4\">Ala</option>
<option value=\"5\">Centrocampista</option>
<option value=\"6\">Attaccante</option>
</select>
<label>Stelle:</label>
<input type=\"text\" name=\"stelle[]\">
<label>Commento:</label>
<textarea name=\"commento[]\" rows=\"5\" cols=\"30\"></textarea>
</fieldset>";
}
echo " <fieldset>
<input type=\"submit\" value=\"Invia\">
<input type=\"reset\" value=\"Reset\">
</fieldset>
</form>
</div>";
La pagina che fa questo finora è così:
E qua mi blocco...Codice PHP:
$data = $_POST['data'];
foreach ($_POST['id'] as $i=>$id)
{
}
foreach ($_POST['ruolo'] as $i=>$ruolo)
{
}
foreach ($_POST['stelle'] as $i=>$stelle)
{
}
foreach ($_POST['commento'] as $i=>$commento)
{
}
Ho recuperato tutto quello che voglio, tutti gli array sono lunghi uguali e sono $id[], $ruolo[], $stelle[], $commento[] ma... come faccio a elaborare tutti gli elementi aventi lo stesso indice, non sapendo io quanto vale il massimo di questo indice???
L'obiettivo è fare in modo che se $ruolo[i]=7 tutti gli elementi con l'indice i vengano ignorati e non inseriti nel db, se $ruolo[i]>7 invece vanno inseriti, in teoria un semplice
Inoltre questo porta a ripetere i-volte la query, dove i può essere grande a piacere... esiste un qualche altro metodo più leggero?Codice PHP:
if ($ruolo[i]<>7)
{
QUERY DI INSERIMENTO
}
CHi può aiutarmi? Chi può riempire le mie lacunose conoscenze???