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:
FORM
QUERY UPDATE
Ora, il mio problema è questo: tutto funziona alla perfezione, ma rimane sempre selezionata una checkbox. Cioè, in pratica, non riesco ad avere tutte le checkbox deselezionate.
Penso che questo derivi 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?
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:
FORM
HTML:
<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>
QUERY UPDATE
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));
}
Ora, il mio problema è questo: tutto funziona alla perfezione, ma rimane sempre selezionata una checkbox. Cioè, in pratica, non riesco ad avere tutte le checkbox deselezionate.
Penso che questo derivi 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?
Ultima modifica: