ho un form con dei checkbox e dove l'utente ha la possibilità di selezionare più di uno, però come risultato, mi da sempre 1 solo valore e cioè l'ultimo selezionato, che devo fare????????
ho pure inserito [] ad ogni imput name
ho un form con dei checkbox e dove l'utente ha la possibilità di selezionare più di uno, però come risultato, mi da sempre 1 solo valore e cioè l'ultimo selezionato, che devo fare????????
ho pure inserito [] ad ogni imput name
allora il form del check ha queste varianti di esempio:
la pagina modifica_scelta_per.php ha questo script:Codice PHP:
<form id="modifica_scelta_per" name="modifica_scelta_per" method="post" action="modifiche_utente/modifica_scelta_per.php">
<input type="checkbox" name="modifica_scelta_per[]" value="nero" id="modifica_scelta_per" /> Nero</div></td>
<input type="checkbox" name="modifica_scelta_per[]" value="bianco" id="modifica_scelta_per" />Bianco</span></div></td>
<input type="submit" class="b2" value="modifica_scelta_per" /></td>
</tr>
</table>
</form></div>
Codice PHP:
$query = "UPDATE tabella SET scelta_per='" . $_POST['modifica_scelta_per'] . "' WHERE utente ='" . $_SESSION['utente'] . "'";
mysql_query($query);
if (isset($_POST['modifica_scelta_per']))
{
$scelta_per = implode(",",$_POST['modifica_scelta_per']);
echo $scelta_per;
foreach($scelta_per as $valore)
{
echo $valore. "
";
}
}
implode() restituisce una stringa, non puoi ciclare su di essa con un foreach.
Togli
$scelta_per = implode(",",$_POST['modifica_scelta_per']);
echo $scelta_per;
e modifica il foreach così
foreach($_POST['modifica_scelta_per'] as $valore)
ora mi da questo errore
ad esempio seleziono i 2 checkbox (sia nero e sia bianco) e mi compare questo:
nero
bianco
Update fallito
Query: UPDATE tabella SET scelta_per='Array' WHERE utente ='nome_utente_loggato'
errore:
Bisogna vedere come è fatta la query nel codice php, come vedi in
SET scelta_per='Array'
non risulta il valore della variabile, ma solo che si tratta di un array.
quindi dici che c'è un errore qua?
considera che nel database il campo lo impostato su SET e ho dato i valori in questo modo: 'nero','bianco'Codice PHP:
$query = "UPDATE tabella SET scelta_per='" . $_POST['modifica_scelta_per'] . "' WHERE utente ='" . $_SESSION['utente'] . "'";
mysql_query($query);
qual'è il problema?????????![]()
![]()
![]()
Prima devi elaborare il POST ricevuto, poi lo metti nella query.Originariamente inviato da martina01
ora mi da questo errore
ad esempio seleziono i 2 checkbox (sia nero e sia bianco) e mi compare questo:
nero
bianco
Update fallito
Query: UPDATE tabella SET scelta_per='Array' WHERE utente ='nome_utente_loggato'
errore:
prova:
Codice PHP:
$query = "UPDATE tabella SET scelta_per='" . implode(',', $_POST['modifica_scelta_per']) . "' WHERE utente ='nome_utente_loggato'";
Ciao!
funzionaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
grazieeeeeeeeeeeeeeeeeeeeeeee