Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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 - Fatal编程技术网

Php 在Mysql中搜索记录的查询

Php 在Mysql中搜索记录的查询,php,mysql,Php,Mysql,我有两个带有搜索按钮的选择框。其中一个选择框是水果,第二个选择框是汽车。 现在的问题是 1) 如果有人从第一个选择框和第二个选择框中选择,则显示所有记录(意味着它将显示所有水果和汽车记录)。 2) 如果任何人只选择第一个选择框,然后显示所有记录(意味着它将只显示水果记录)或 3) 选择第二个选择框,然后显示所有记录(意味着它将显示所有车辆记录) 在下面的查询中,我尝试了它正在显示它正在为第一个问题工作 SELECT * FROM request WHERE fruit='$fruit' and

我有两个带有搜索按钮的选择框。其中一个选择框是水果,第二个选择框是汽车。 现在的问题是 1) 如果有人从第一个选择框和第二个选择框中选择,则显示所有记录(意味着它将显示所有水果和汽车记录)。 2) 如果任何人只选择第一个选择框,然后显示所有记录(意味着它将只显示水果记录)或 3) 选择第二个选择框,然后显示所有记录(意味着它将显示所有车辆记录)

在下面的查询中,我尝试了它正在显示它正在为第一个问题工作

SELECT * FROM request WHERE fruit='$fruit' and car='$car'

我需要在单个查询中查询2)和3)。你能帮我吗?

为此,你需要发展一点逻辑 我猜这是POST方法

   if(isset($_POST['search']))
{
$con =" 1=1 ";
if(!empty($_POST['fruit']) && !empty($_POST['car'])){
$con .=" and want_to_learn='".$_POST['fruit']."' and expert_in='".$_POST['car']."'";
}
else if(!empty($_POST['fruit'])){
$con .=" and want_to_learn='".$_POST['fruit']."'";
}
else if(!empty($_POST['car'])){
$con .=" and expert_in='".$_POST['car']."'";
}

$search_sql="SELECT * FROM request WHERE ".$con ;
$search_result = $conn->query($search_sql);
}

您可以通过PHPTry使用条件语句来检查复选框“isset”是否已设置来实现这一点。然后将操作添加到查询中。从请求中选择*,其中(isset($U POST['FROUT'])?FROUT='$FROUT':FROUT='')和(isset($U POST['car'])?car='$car':car='')如果car没有设置,它将给出错误,因为“和”和“这就是为什么有一个速记条件声明感谢您回复Knowledge先生,什么是$con=“1=1和”?当您没有选择值时,意味着如果任何条件不为真,您的查询将类似于SELECT*FROM request,其中1=1,因此它将带来表中的所有数据。只有当你没有选择任何值时,我才试图理解如何使用这个逻辑。你必须根据需要创建动态条件并将其放入查询中。知识,我从需要中选择并单击搜索,然后我得到错误:未定义索引:教学