我刚开始学习php和js,并且很难如何编写如下代码。我有5个复选框,当我检查所有,sql插入添加5个值如下所示。我的意思是,当我只选择一个,或者两个,或者一些,甚至全部时,如何在sql insert部分动态编写它。那样,我不必写
('$idkeg',01, '$kabkot'),
('$idkeg',02, '$kabkot'),
('$idkeg',03, '$kabkot'),
('$idkeg',04, '$kabkot'),
('$idkeg',05, '$kabkot')
逐一
完整代码:
<label><input type='checkbox' name="all" id="all" value='all'>Seluruh kab/kota</label>
<label><input type='checkbox' value='01'>Sibolga</label>
<label><input type='checkbox' value='02'>Tanjung Balai</label>
<label><input type='checkbox' value='03'>Pematang Siantar</label>
<label><input type='checkbox' value='04'>Tebing Tinggi</label>
<label><input type='checkbox' value='05'>Medan</label>
mysqli_query($koneksi, "INSERT INTO event(idkeg,kdwil,kabkot) VALUES
('$idkeg',01, '$kabkot'),
('$idkeg',02, '$kabkot'),
('$idkeg',03, '$kabkot'),
('$idkeg',04, '$kabkot'),
('$idkeg',05, '$kabkot')
;") or die(mysqli_error());
答案 0 :(得分:5)
为每个复选框指定相同的数组名称,然后在表单提交后,它将为您提供数组中所选复选框的值
例如
<input type='checkbox' name="arrayName[]" value='05'>Medan</label>
$_POST['arrayName']
的输出将为['02','03','05']
然后在循环中执行INSERT操作
$checkedArray = $_POST['arrayName'];
foreach($checkedArray as $checked){
$query = "INSERT INTO event(idkeg,kdwil,kabkot) VALUES('$idkeg','$checked','$kabkot')";
mysqli_query($koneksi, $query) or die(mysqli_error());
}