php+mysql 空条件查询怎么写
我有一个搜索表单,里面的内容不一定填,不填表示不搜索这项那查询语句应该怎么写select*fromtablewherenamelike*andage=*貌似查不到...
我有一个搜索表单,里面的内容不一定填,不填表示不搜索这项
那查询语句应该怎么写
select * from table where name like * and age = *
貌似查不到 展开
那查询语句应该怎么写
select * from table where name like * and age = *
貌似查不到 展开
4个回答
展开全部
比如表单时用post方法提交的,给你的代码如下:
//***************************************php 代码******************************************************
//此处获取你所有要查询的条件
$name = $_POST['username']; //你要查询的条件1
$age = $_POST['age']; //你要查询的条件2
//以下是生成查询条件中where语句的代码
$where = ' where 1 ';//先定义一个空的查询条件
if (trim ($name) != '') {
$where .= " AND name = '" . $name . "' ";
}
if (trim ($age) != '') {
$where .= " AND age = '" . $age . "' ";
}
$sql = ' select * from table '.$where;
//***************************************代码结束*****************************************************************
如果你提交表单中什么都没填。此时得到的查询语句为select * from table where 1
如果你只提交了一个年龄为6的表单。 此时得到的查询语句为:select * from table where 1 AND age = '6'
不懂得再问我。期望对你有帮助。
//***************************************php 代码******************************************************
//此处获取你所有要查询的条件
$name = $_POST['username']; //你要查询的条件1
$age = $_POST['age']; //你要查询的条件2
//以下是生成查询条件中where语句的代码
$where = ' where 1 ';//先定义一个空的查询条件
if (trim ($name) != '') {
$where .= " AND name = '" . $name . "' ";
}
if (trim ($age) != '') {
$where .= " AND age = '" . $age . "' ";
}
$sql = ' select * from table '.$where;
//***************************************代码结束*****************************************************************
如果你提交表单中什么都没填。此时得到的查询语句为select * from table where 1
如果你只提交了一个年龄为6的表单。 此时得到的查询语句为:select * from table where 1 AND age = '6'
不懂得再问我。期望对你有帮助。
追问
非常感谢
展开全部
假设表单有name 和 age两项,
用户只填了name 没填age然后提交表单,
在php里,你需要根据接收到的数据判断一下他到底填了哪个没填哪个,
然后这种情况最终的sql应该是:
select * from table where name like '%测试的%'
不填age就让sql里不出现age的条件,不填name就让sql里不出现name的条件。
用户只填了name 没填age然后提交表单,
在php里,你需要根据接收到的数据判断一下他到底填了哪个没填哪个,
然后这种情况最终的sql应该是:
select * from table where name like '%测试的%'
不填age就让sql里不出现age的条件,不填name就让sql里不出现name的条件。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sql = "SELECT * FROM table"; //查询语句查询部分
$where = " WHRER 1"; //查询语句条件部分
$name = trim($_POST['name']); //获取传上来的name值
$age = trim($_POST['age']); //获取传上来的age值
if(isset($name)){ //如果有填name
$where .= " AND name LIKE '%{$name}%' ";
}
if(isset($age)){ //如果有填age
$where .= " AND age = {$age}";
}
$sql = $sql.$where;
$where = " WHRER 1"; //查询语句条件部分
$name = trim($_POST['name']); //获取传上来的name值
$age = trim($_POST['age']); //获取传上来的age值
if(isset($name)){ //如果有填name
$where .= " AND name LIKE '%{$name}%' ";
}
if(isset($age)){ //如果有填age
$where .= " AND age = {$age}";
}
$sql = $sql.$where;
追问
非常感谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
搜索的不同条件要靠你的程序来生成不同的SQL,而不是靠SQL自身。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询