Buonasera a tutti, ho un problema che mi sta facendo fondere il cervello, mi rivolgo a voi sperando in un vostro aiuto.
Devo realizzare una checkbox multipla collegata a database del tipo:
elemento1[]
elemento2[]
elemento3[]
L'utente deve poter "aggiornare" il checked della checkbox dinamicamente.
Quindi al caricamento della pagina, leggendo i valori da database potrebbe essere:
elemento1[]
elemento2[X]
elemento3[]
e dopo la modifica potrà essere:
elemento1[]
elemento2[X]
elemento3[X]
e devo poter prevedere anche lo stato di decheck:
elemento1[]
elemento2[]
elemento3[X]
In php ho creato questo codice:
[PHP]
$myCheck = $_POST['myCheck'];
if(isset($myCheck)){
foreach ($myCheck as $key => $value) {
$sel= mysql_db_query($db_login,"SELECT evidenza FROM servizi WHERE id='$key'" ,$connessione); //seleziono il campo evidenza che vale 0 o 1 che è poi il valore della checkbox
$s = mysql_result($sel,0,"evidenza");
if($s==0){
$v=1;
mysql_db_query($db_login,"update ".$db_servizi." set evidenza='".$v."' where id='".$key."' ",$connessione);
} else{
$v=0;
mysql_db_query($db_login,"update ".$db_servizi." set evidenza='".$v."' where id='".$key."' ",$connessione); }
[/PHP]
e quest'altro codice che "stampa" la checkbox
[PHP]
//query database
while ( $i<$num ){
$id = mysql_result($news,$i,"id");
$titolo = mysql_result($news,$i,"titolo");
$evidenza = mysql_result($news,$i,"evidenza");
//inizio elemento
echo($titolo);
if($evidenza == 1){
echo('<input type="checkbox" checked="checked" id="mycheck" value="'.$id.'" name="myCheck['.$id.']" class="regular-checkbox big-checkbox" />');
} else{
echo('<input type="checkbox" id="mycheck" value="'.$id.'" name="myCheck['.$id.']" class="regular-checkbox big-checkbox" />');
echo('<label for="');echo($id);echo('"></label>');
.......
[/PHP]
La stampa dei risultati dal database alle checkbox funziona, l'aggiornamento dei campi non viene intercettato dalla POST il deseleziona, qualche suggerimento per risolvere il problema??