Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我如何更好地理解选中哪个复选框以便将其值放入mysql?_Php_Mysql_Html_Checkbox - Fatal编程技术网

Php 我如何更好地理解选中哪个复选框以便将其值放入mysql?

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)

我有两个复选框。它们的值将转到另一个php文件,如果其中任何一个被选中,其值将插入mysql代码。我做到了,但当复选框的数量增加,出现更高级的东西时,我的代码将无法付诸实践

下面是checkbox.php:(它在表单中)


选择:
摄像机
视频
单击表单后,它将通过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) . ")"; 
}