将多个复选框输入的post值分配给PHP变量,并用逗号分隔
我正在使用将多个复选框输入的post值分配给PHP变量,并用逗号分隔,php,jquery,html,forms,Php,Jquery,Html,Forms,我正在使用PDO、foreach和echo从数据库中生成一些表单输入,本例的输出看起来更精简: <input type="checkbox" value="1" checked>Google <input type="checkbox" value="2">Amazon <input type="checkbox" value="3" checked>Microsoft 请注意,复选框由用户选中,这里使用的数据只是一个示例,我希望表单能够通过用户输入收集正
PDO
、foreach
和echo
从数据库中生成一些表单输入,本例的输出看起来更精简:
<input type="checkbox" value="1" checked>Google
<input type="checkbox" value="2">Amazon
<input type="checkbox" value="3" checked>Microsoft
请注意,复选框由用户选中,这里使用的数据只是一个示例,我希望表单能够通过用户输入收集正确的数据 将复选框命名为一个数组,因此当您提交表单时,您将在选中复选框的数组中获得一个复选框值数组,然后您可以使用
,
逗号分隔的方式内爆该数组
<input type="checkbox" name="checkboxname[]" value="1" checked>Google
<input type="checkbox" name="checkboxname[]" value="2">Amazon
<input type="checkbox" name="checkboxname[]" value="3" checked>Microsoft
您可以使用jquery:
例如:
HTML:
PHP:
在html中使用一个数组,您将在php中拥有一个数组:
<input type="checkbox" name="checkboxname[]" value="1" checked>Google
<input type="checkbox" name="checkboxname[]" value="2">Amazon
<input type="checkbox" name="checkboxname[]" value="3" checked>Microsoft
$data = implode(",", $_POST['checkboxname']);
echo $data;
<input type="checkbox" value="1">Google
<input type="checkbox" value="2">Amazon
<input type="checkbox" value="3">Microsoft
<button type="submit" id="btn">Submit</button>
$(document).ready(function(){
$('#btn').on('click',function(){
var cboxVal = [];
$('input[type="checkbox"]:checked').each(function(i){
cboxVal[i] = $(this).val();
});
$.ajax({
url : 'insert_data.php',
method : 'POST',
data : {cval:cboxVal},
dataType: 'text',
async : false,
success : function(){
alert('data inserted!');
}
});
});
<?php
if(isset($_POST['cval'])){
$cval_raw = $_POST['cval'];
for($i =0; $i<count($cval_raw);$i++){
$cval = $cval_raw[$i];
$sql = "INSERT INTO db_name(table_name) VALUES('$cval')" or die('cannot insert');
$query = mysqli_query($connect,$sql);
}
}
?>