- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Checkbox in mysql
-
Checkbox in mysql
Ciao, spero mi possiate aiutare.
Ho un semplice form fatto in questa maniera, che gli utenti dovranno compilare
<form action="script.php" method="post"> <input type="checkbox" name="verde"> verde<br> <input type="checkbox" name="bianco"> bianco<br> <input type="checkbox" name="rosso"> rosso<br> <input type="submit" value="Inserisci"><br><br/> </form>
Ora, io vorrei memorizzare le loro scelte in una tabella mysql.
Pensavo di farla in questa maniera:
il campo ID per riconoscere l'utente e gli altri campi verde, bianco, rosso in tinyint (in modo da simulare il valore booleano).Ho due domande...
Prima domanda
Come devo fare lo script.php per fare in modo che i dati del form vadano a finire della tabella mysql?Seconda domanda
Quella che ho descritto (form html, script in php e tabella mysql) è la scelta giusta per realizzare quello che ho in mente descritto in precedenza?
-
Allora, il mio consiglio è sempre quello di tentare nella risoluzione dei problemi altrimenti non si cresce mai.
Per quanto riguarda il form, se ho capito bene hai intenzione nella tabella mysql di associare il valore 1 o 0 legandolo dalla scelta dell'utente.
Supposto che 1 sia il valore nel caso abbia fatto il check dell'opzione e 0 nel caso non l'abbia fatto.
Selezionerei di default il valore 0 del campo tinyint e modificherei il form associando un valore alla scelta:
[PHP]
...
<input name="verde" type="checkbox" value="1"> verde<br>
<input name="bianco" type="checkbox" value="1"> bianco<br>
<input name="rosso" type="checkbox" value="1"> rosso<br>
<input type="submit" value="Inserisci"><br><br/>
...
[/PHP]Nella pagina script, recupererei i valori tramite $_POST, ed effettuerei la query per l'inserimento dei valori.
Spero di averti aiutato un pochino.
-
Se ho chiesto qui sul forum è perchè non sono riuscito a risolvere il problema per mio conto
ed effettuerei la query per l'inserimento dei valori.
è proprio questa che non so fare!
Non sono riuscito neanche a trovare qualcosa di utile in rete.In realtà, qui sul forum ho trovato una soluzione, però mette in ballo gli array...
e non credo possano essere adatti al mio caso.
-
La query per l'inserimento dei valori è:
[php]
//codice di connessione al database
$checkbox=$_POST["valore_ricevuto_dal_checkbox"];
$query=("INSERT INTO nome_tabella (campo1, campo2, campo3)
VALUES ('valore1', 'valore2', 'valore3')";
$sql=mysql_query($query) or die ("Query error:" . mysql_error());[/php]
Ovviamente devi cambiare i nomi della tabella, dei campi, etch
-
Ho fatto diverse prove e questo codice è lunico che funziona... ma non come vorrei io
<form action="script.php" method="post"> <input type="checkbox" name="selez"> verde<br> <input type="checkbox" name="selez"> bianco<br> <input type="checkbox" name="selez"> rosso<br> <input type="submit" value="Inserisci"><br><br/> </form>
<?php $host = 'localhost'; $user = '@user'; $password = '@pass'; $database = '@db'; $db = mysql_connect($host, $user, $password) or die ("Impossibile connettersi al server $host"); mysql_select_db($database, $db) or die ("Impossibile connettersi al database $database"); $checkbox=$_POST['selez']; $query=("INSERT INTO famiglia (verde, bianco, rosso) VALUES ('1', '1', '1')"); $sql=mysql_query($query) or die ("Query error:" . mysql_error()); ?>
La tabella MySQL:
Campo - Tipo - Null - Predefinito - Extra
Id - int(11) - No - ... - auto increment
verde - tinyint(1) - Si - NULL
bianco - tinyint(1) - Si - NULL
rosso - tinyint(1) - Si - NULLDove sbaglio?