gpt4 book ai didi

php - 当用户选择所有内容时询问高级搜索?

转载 作者:行者123 更新时间:2023-11-29 00:16:28 24 4
gpt4 key购买 nike

当用户选择所有内容时询问高级搜索?

我的表单有 2 个下拉菜单和 1 个提交按钮

        ________________                ________________
body : |______All_______| color : |______All_______|
|____Circle______| |_____White______|
|___Triangle_____| |_____Black______|

__________
|__Submit__|

这是我的数据库:绘图

 _________________________________   
|__id___|____Body____|___Corlor___|
|___1___|___Circle___|___White____|
|___2___|__Triangle__|___Black____|
|___3___|__Triangle__|___Black____|
|___4___|___Circle___|___White____|
|___5___|__Triangle__|___Black____|
|___6___|___Circle___|___White____|
|___7___|___Circle___|___White____|
|___8___|__Triangle__|___Black____|

这是我从 Mysql 中选择数据的 php 代码

$sql = "SELECT * FROM Draw WHERE Body = '$_POST[body]' AND Color = '$_POST[color]' order by id asc";

确定,当我选择下拉主体时 -----> 全部和下拉颜色 ------> 全部

$_POST[body] 的值 = "All"和 $_POST[color] = "All",我运行页面它不会从我的 sql 中获取任何数据

如何从 mysql 表中选择数据:绘图,当我选择带有所有值的下拉列表时?

感谢回答^^

最佳答案

在这种情况下,您的查询会获取所有正文和颜色设置为“全部”的条目。您得不到任何数据,因为没有该值的条目。

像这样的东西应该可以解决问题:

$query       = "SELECT * FROM Draw";
$where = "";

if(isset($_POST["body"]) && $_POST["body"] != "") {
if($_POST["body"] != "All") {
$where .= "`Body`='" . $_POST["body"] . "'";
}
}

if(isset($_POST["color"]) && $_POST["color"] != "") {
if($_POST["body"] != "All") {
if ($where.length() > 0) {
$where .= " AND ";
}
$where .= "`Color`='" . $_POST["color"] . "'";
}
}

if ($where.length() > 0) {
$query .= " WHERE " . $where;
}

此外,您应该阅读有关 SQL 注入(inject)的内容。

关于php - 当用户选择所有内容时询问高级搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22815213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com