Non riesco a trovare o capire una soluzione funzionante per inserire più valori di casella di controllo da un modulo in una tabella. Le chiusure sono arrivate sta inserendo il valore di un solo valore di spunta in una tabella. Fai notare come posso inserire più valori di spunta e non solo uno.Come inserire più valori di checkbox in una tabella?
seguito troverete quello che ho finora:
La mia forma:
<html>
<body>
<form method="post" action="chk123.php">
Flights on: <br/>
<input type="checkbox" name="Days" value="Daily">Daily<br>
<input type="checkbox" name="Days" value="Sunday">Sunday<br>
<input type="checkbox" name="Days" value="Monday">Monday<br>
<input type="checkbox" name="Days" value="Tuesday">Tuesday <br>
<input type="checkbox" name="Days" value="Wednesday">Wednesday<br>
<input type="checkbox" name="Days" value="Thursday">Thursday <br>
<input type="checkbox" name="Days" value="Friday">Friday<br>
<input type="checkbox" name="Days" value="Saturday">Saturday <br>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
Il mio file php per leggere e inserire i valori in una tabella:
<?php
// Make a MySQL Connection
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$checkBox = $_POST['Days'];
if(isset($_POST['submit']))
{
for ($i=0; $i<sizeof($checkBox); $i++)
{
$query="INSERT INTO example (orange) VALUES ('" . $checkBox[$i] . "')";
mysql_query($query) or die (mysql_error());
}
echo "Complete";
}
?>
ogni chiamata a mysql_query è costosa, si consiglia di unire la query a un singolo inserto concatenando i valori() dopo i valori. come ('a'), ('b'), ('c'), ... – ohmusama
Tutte le funzioni di 'mysql _ *()' sono [** ufficialmente deprecate **] (http://j.mp/ XqV7Lp) * (non più supportato/mantenuto) * e sarà [** rimosso **] (http://j.mp/11j2t6j) in futuro. Dovresti aggiornare il tuo codice usando [PDO] (http://php.net/pdo) o [MySQLi] (http://php.net/msqli) per garantire funzionalità future. Anche il tuo codice è vulnerabile all'iniezione SQL. –