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:
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>";
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.
La pagina che fa questo finora è così:
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)
{
}
E qua mi blocco...
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
Codice PHP:
if ($ruolo[i]<>7)
{
QUERY DI INSERIMENTO
}
Inoltre questo porta a ripetere i-volte la query, dove i può essere grande a piacere... esiste un qualche altro metodo più leggero?
CHi può aiutarmi? Chi può riempire le mie lacunose conoscenze???