php网站,查询条件:姓名,性别,年龄,职位,政治面貌,职称,单位。求sql语句实现多条件查询
查询原则:七个条件可以任选一个以上进行查询,未被选择的条件则认为该条件的所有结果均输出(比如未选性别,则认为输出性别为男和女的所有结果),最后根据所选查询条件输出结果。对...
查询原则:七个条件可以任选一个以上进行查询,未被选择的条件则认为该条件的所有结果均输出(比如未选性别,则认为输出性别为男和女的所有结果),最后根据所选查询条件输出结果。
对应的表单名转化为变量后为:$name,$sex,$age,$posi,$part,$zhic,$danwei;数据库中的字段名即为:姓名,性别,年龄,职位,政治面貌,职称,单位。除姓名是输入外,其他都是<select>选择。
请问这个查询功能的sql语句怎么写。求源码。 展开
对应的表单名转化为变量后为:$name,$sex,$age,$posi,$part,$zhic,$danwei;数据库中的字段名即为:姓名,性别,年龄,职位,政治面貌,职称,单位。除姓名是输入外,其他都是<select>选择。
请问这个查询功能的sql语句怎么写。求源码。 展开
4个回答
展开全部
$name,$sex,$age,$posi,$part,$zhic,$danwei
这些都是接过来的值,我直接写语句了
$where = '1=1';
if($name){
$where1 .= "and name = '$name'";
}
if($sex){
$where2 .= "and sex= '$sex";
}
if($age){
$where3 .= "and age= '$age";
}
if($posi){
$where4 .= "and posi= '$posi";
}
if($part){
$where5 .= "and part= '$part";
}
if($zhic){
$where6 .= "and zhic= '$zhic";
}
if($danwei){
$where7 .= "and danwei= '$danwei";
}
$where .='$where1'$where2'$where3'$where4'$where5'$where6'$where7
$sql = "select * from 表名 where $where";
这样写行吗??
这些都是接过来的值,我直接写语句了
$where = '1=1';
if($name){
$where1 .= "and name = '$name'";
}
if($sex){
$where2 .= "and sex= '$sex";
}
if($age){
$where3 .= "and age= '$age";
}
if($posi){
$where4 .= "and posi= '$posi";
}
if($part){
$where5 .= "and part= '$part";
}
if($zhic){
$where6 .= "and zhic= '$zhic";
}
if($danwei){
$where7 .= "and danwei= '$danwei";
}
$where .='$where1'$where2'$where3'$where4'$where5'$where6'$where7
$sql = "select * from 表名 where $where";
这样写行吗??
追问
如果年龄是几个年龄段应该怎么修改年龄那里呢?
追答
应是在
if($sex){
$where2 .= "and sex= '$sex";
}
后加一个
if($age2){
$where3 .= "and age>'$age and age<'$age2";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$name,$sex,$age,$posi,$part,$zhic,$danwei
这些是客户端传过来的值,有必要,你验证一下,安全。
$where = '1';
if($name){
$where .= "and name = '".$name."'";
}
if($sex){
$where .= "and sex= '".$sex."‘";
}
if($age){
$where .= "and age= '".$age."’";
}
if($posi){
$where .= "and posi= '".$posi."‘";
}
if($part){
$where .= "and part= '".$part."’";
}
if($zhic){
$where .= "and zhic= '".$zhic."‘";
}
if($danwei){
$where .= "and danwei= '”.$danwei."’";
}
$sql = "select * from 表名 where $where";
这些是客户端传过来的值,有必要,你验证一下,安全。
$where = '1';
if($name){
$where .= "and name = '".$name."'";
}
if($sex){
$where .= "and sex= '".$sex."‘";
}
if($age){
$where .= "and age= '".$age."’";
}
if($posi){
$where .= "and posi= '".$posi."‘";
}
if($part){
$where .= "and part= '".$part."’";
}
if($zhic){
$where .= "and zhic= '".$zhic."‘";
}
if($danwei){
$where .= "and danwei= '”.$danwei."’";
}
$sql = "select * from 表名 where $where";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$name,$sex,$age,$posi,$part,$zhic,$danwei
这些都是接过来的值,我直接写语句了
$where = '1=1';
if($name){
$where .= "and name = '$name'";
}
if($sex){
$where .= "and sex= '$sex";
}
if($age){
$where .= "and age= '$age";
}
if($posi){
$where .= "and posi= '$posi";
}
if($part){
$where .= "and part= '$part";
}
if($zhic){
$where .= "and zhic= '$zhic";
}
if($danwei){
$where .= "and danwei= '$danwei";
}
$sql = "select * from 表名 where $where";
这些都是接过来的值,我直接写语句了
$where = '1=1';
if($name){
$where .= "and name = '$name'";
}
if($sex){
$where .= "and sex= '$sex";
}
if($age){
$where .= "and age= '$age";
}
if($posi){
$where .= "and posi= '$posi";
}
if($part){
$where .= "and part= '$part";
}
if($zhic){
$where .= "and zhic= '$zhic";
}
if($danwei){
$where .= "and danwei= '$danwei";
}
$sql = "select * from 表名 where $where";
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$where = '';
if(!empty($name)){
$where .= " AND name like '%$name%'";
}
if(!empty($sex)){
$where .= " AND name like '%$sex%'";
}
一次类推 $sql = "SELECT * FROM user WHERE 1 $where";
if(!empty($name)){
$where .= " AND name like '%$name%'";
}
if(!empty($sex)){
$where .= " AND name like '%$sex%'";
}
一次类推 $sql = "SELECT * FROM user WHERE 1 $where";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询