Ciao a tutti;
Per la prima volta mi trovo a dover utilizzare delle checkbox e non sono sicuro del corretto meccanismo;
Il codice semplificato è questo:
codice:
<form method="post" action="salva.php">
<table>
<tr>
<td>maglia</td>
<td><input type="checkbox" name="ac[]" value="maglia"</td>
</tr>
<tr>
<td>jeans</td>
<td><input type="checkbox" name="ac[]" value="jeans"</td>
</tr>
</tr>
<td>boxer</td>
<td><input type="checkbox" name="ac[]" value="boxer"</td>
</tr>
</table>
<input type="submit" value="conferma">
</form>
salva.php:
Codice PHP:
$ac = isset($_POST['ac']);
if ($ac) {
foreach ($ac as $value) {
$sql = "update magazzino
set ac = 1
where prodotto = '".$value"'";
$db->query($sql);
}
}
Nel campo <td> della tabella c'è anche una funzione che permette l'eventuale echo "checked" leggendo l'apposito campo nel db.
Il problema nasce nel momento in cui devo fare la cosa inversa, ossia deselezionare un campo "checked" e salvare nel corrispondente campo del db "ac = 0".
Deselezionare un campo, vuol dire che non sarà presente nell'array in salva.php... di conseguenza come faccio a fare la query?
Mi vengono in mente 2 soluzioni molto contorte... la prima prevede la creazione di un'array completo di tutti gli elementi da cui sottrarre quelli "checkati"...
Nel secondo caso invece potrei, ad ogni click sul tasto, azzerare tutti i check e rimetterli ex-novo in base alla nuova configurazione...
Esistono vie più semplici? qual'è il modo più logico di farlo?