Php 我如何更好地理解选中哪个复选框以便将其值放入mysql?
我有两个复选框。它们的值将转到另一个php文件,如果其中任何一个被选中,其值将插入mysql代码。我做到了,但当复选框的数量增加,出现更高级的东西时,我的代码将无法付诸实践 下面是checkbox.php:(它在表单中)Php 我如何更好地理解选中哪个复选框以便将其值放入mysql?,php,mysql,html,checkbox,Php,Mysql,Html,Checkbox,我有两个复选框。它们的值将转到另一个php文件,如果其中任何一个被选中,其值将插入mysql代码。我做到了,但当复选框的数量增加,出现更高级的东西时,我的代码将无法付诸实践 下面是checkbox.php:(它在表单中) 选择: 摄像机 视频 单击表单后,它将通过AJAX和jquery($.post)访问fetch_kind.php。 以下是代码: <?php $kind = array(); $kind = $_POST['kind']; $count = count($kind)
选择:
摄像机
视频
单击表单后,它将通过AJAX和jquery($.post)访问fetch_kind.php。以下是代码:
<?php
$kind = array();
$kind = $_POST['kind'];
$count = count($kind);
if ($count== 0) {
echo "You did not checked any of checkboxes!!!";
}
if ($count == 2) {
$sql = "SELECT id,kind FROM products";
} else {
foreach ($kind as $value) {
if ($value =="1") {
$sql = "SELECT id,kind FROM products WHERE kind = " . $value;
}
if ($value =="2") {
$sql = "SELECT id,kind FROM products WHERE kind = " . $value;
}
}
}
?>
你能举个更好的例子吗?谢谢…您可以循环检查所有复选框,并向数组添加一个简单条件。你在最后将数组内爆 比如:
$conds = array();
foreach ($kind as $value) {
$conds[] = '`kind` = ' . intval($value);
}
$sql = "SELECT id,kind FROM products WHERE " . implode(" OR ", $conds);
一种简单的方法是将所有值和us
分组到
if ($count > 0){
$sql = "SELECT id,kind FROM products WHERE kind IN (" . implode (',', $kind) . ")";
}
此外,您可能需要查看输入的消毒。是否可以选中多个复选框?如果希望只选中其中一个,则应使用单选按钮()而不是复选框。
if ($count > 0){
$sql = "SELECT id,kind FROM products WHERE kind IN (" . implode (',', $kind) . ")";
}