php - 多个复选框搜索查询在php中从数据库中获取数据

标签 php mysql checkbox

我有一个多复选框搜索查询,它从数据库中获取数据。下面是代码:

HTML 代码:

<form action="search.php" method="post">
<input type="checkbox" name="cloth_color[]" value="Red" /> Red <br>
<input type="checkbox" name="cloth_color[]" value="Yellow" /> Yellow <br>
<input type="checkbox" name="cloth_color[]" value="Blue" /> Blue <br>
<input type="checkbox" name="cloth_color[]" value="Green" /> Green <br>
<input type="checkbox" name="cloth_color[]" value="Magenta" /> Magenta <br>
<input type="checkbox" name="cloth_color[]" value="Black" /> Black <br>
<input type="checkbox" name="cloth_color[]" value="White" /> White <br>
<input type="submit" value="SEARCH">
</form>

PHP 代码:

<?php
$checkbox1 = $_POST['cloth_color'];  
$chk="";  
foreach($checkbox1 as $chk1)  
   {  
      $chk .= $chk1;
   }

if($_POST['cloth_color'] != "") {
$query = "SELECT * FROM clothings WHERE colorofcloth = '$chk'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
$colorofcloth = $row['colorofcloth'];

    echo 'The cloth with ' . $colorofcloth . ' color';
    echo '<br>';

}
}
?>

现在,如果我从搜索选择框中选择一个选项,我就会收到查询。但如果我选择两种或多种颜色,我就不会收到查询。我们将非常感谢您的帮助。

附注我确实在 Mysql 查询中有多个联接,但这是我陷入困境的地方,因此在这里提出尽可能清晰的问题。我还打算在启动此代码之前将 mysql 转换为 mysqli。谢谢:)

最佳答案

<?php
$checkbox1 = $_POST['cloth_color'];  
$chk="";  
foreach($checkbox1 as $chk1)  
   {  
      $chk .= $chk1 . ",";
   }

if($_POST['cloth_color'] != "") {
$query = "SELECT * FROM clothings WHERE colorofcloth IN($chk)";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
$colorofcloth = $row['colorofcloth'];

    echo 'The cloth with ' . $colorofcloth . ' color';
    echo '<br>';

}
?>

您可以尝试此代码,它将使用 MySQL 的 IN(),您可以在其中传递多个分隔的值。

希望这有帮助

关于php - 多个复选框搜索查询在php中从数据库中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45378397/

相关文章:

mysql - 从mysql查询中的字符串中提取字符串

java - 如何从 JPA 中的唯一约束异常中获取字段名称

jquery - 使用 JQuery/JQM 动态创建复选框时保留 CSS

javascript - 订购复选框及其标签

.net - 在 .NET 中编写 Facebook 应用程序有哪些优点和缺点?

mysql - 如何用值替换引用 ID

Phpinfo() 不显示 curl

asp.net - 在 TemplateItem 中绑定(bind) CheckBox 的 Checked 属性

php - javascript字符串替换php上的等价物?

php - 我可以根据屏幕尺寸显示不同的表格吗?