Ciao a tutti, vi espongo un problema che proprio non riesco a risolvere sperando in un vostro aiuto.
Ho una serie di checkbox all'interno di un ciclo while che in base alla selezione inviano il valore 1 o 0 a un campo di una tabella del mio database:
il mio form
codice:
<form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">
<table width="100%">
<tr class="title">
<td width="50%" class="head">Nome Asta</td>
<td width="20%" class="head">tipo</td>
<td width="10%" class="head">attiva</td>
</tr>
<?php do { ?>
<tr>
<td class="table1"><?php echo $row_dataauctionfree['fauctionName']; ?></td>
<td class="table1"><?php echo $row_dataauctionfree['fauctionType']; ?></td>
<td class="table1lastfield"><input type="checkbox" onclick="document.forms.form2.submit();" name="fauctionActive[]" value="<?php echo $row_dataauctionfree['id']; ?>"
<?php if (!(strcmp(htmlentities($row_dataauctionfree['fauctionActive'], ENT_COMPAT, 'utf-8'),1))) {echo "checked=\"checked\"";} ?> /></td>
</tr>
<?php } while ($row_dataauctionfree = mysql_fetch_assoc($dataauctionfree)); ?> </form>
</table>
la query di update
Codice PHP:
if (isset($_POST ["fauctionActive"])) {
$ids = $_POST ['fauctionActive'];
$updateSQL = ("UPDATE f_auctionfree set fauctionActive=1 WHERE id IN ('".implode("','",$ids)."')");
mysql_select_db($database_config, $config);
$Result1 = mysql_query($updateSQL, $config) or die(mysql_error());
$updateSQL2 = ("UPDATE f_auctionfree set fauctionActive=0 WHERE id NOT IN ('".implode("','",$ids)."')");
mysql_select_db($database_config, $config);
$Result1 = mysql_query($updateSQL2, $config) or die(mysql_error());
$updateGoTo = "auctionsv_list.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
Tutto funziona alla perfezione, ma rimane sempre selezionata una checkbox. Cioè, in pratica, non riesco ad avere tutte le checkbox deselezionate.
Il problema è sicuramente causato dal fatto che il submit del form avviene tramite la selezione del checkbox(onclick="document.forms.form2.submit();") .
Se infatti levo il submit automatico e metto il normale bottone di invio tutto va alla perfezione.
Come risolvo?