sql多变量条件查询,变量条件可能为全部都符合。利用1=1做字符串连接查询
来源:互联网 发布:oracle sql分页优化 编辑:程序博客网 时间:2024/06/09 19:52
<?php
$_SESSION["type"]="";
}
$str = "1=1 ";//sql语句连接字符串置为 1=1 为所有值。
}else{
if($_REQUEST["type"]==""){
$str = " typeid =". $_SESSION["type"]." " ;
}else{
$_SESSION['type']=$_REQUEST["type"];
}
if($_SESSION['place']=="" && $_REQUEST["place"]==""||$_REQUEST["place"]=="不限"){
if($_REQUEST["place"]=="不限"){
$_SESSION["place"]="";
}
$str1 = "and 1=1 ";
}else{
if($_REQUEST["place"]==""){
$str1 = " and dengji = "."'".$_SESSION[place]."' ";
}else{
$_SESSION['place']=$_REQUEST["place"];
$str1 = " and dengji = "."'".$_SESSION[place]."' ";}
}
if($_SESSION['year']==""&&$_REQUEST["year"]==""||$_REQUEST["year"]=="不限"){
if($_REQUEST["year"]=="不限"){
$_SESSION["year"]="";
}
$str2 = "and 1=1 ";
}else{
if($_REQUEST["year"]==""){
$str2 = " and addtime >= $_SESSION[year] and addtime < $_SESSION[year2] ";
}else{
$_SESSION['year']=$_REQUEST["year"];
$_SESSION["year2"]=$_REQUEST["year"]+10;
$str2 = " and addtime >= $_SESSION[year] and addtime < $_SESSION[year2] ";
}
}
if($_SESSION['brand']==""&&$_REQUEST["brand"]==""||$_REQUEST["brand"]=="不限"){
if($_REQUEST["brand"]=="不限"){
$_SESSION["brand"]="";
}
$str3 = "and 1=1 ";
}else{
if($_REQUEST["brand"]==""){
$str3 = " and pinpai ="."'". $_SESSION[brand]."'" ;
}else{
$_SESSION['brand']=$_REQUEST["brand"];
$str3 = " and pinpai ="."'". $_SESSION[brand]."'" ;
}
}
if($_SESSION['price1']==""&&$_REQUEST["price1"]==""||$_REQUEST["price1"]=="不限"){
if($_REQUEST["price1"]=="不限"){
$_SESSION["price1"]="";
}
$str4 = "and 1=1 ";
}else{
if($_REQUEST["price1"]==""){
$str4 = " and huiyuanjia >= $_SESSION[price1] ";
}else{
$_SESSION['price1']=$_REQUEST["price1"];
$str4 = " and huiyuanjia >= $_SESSION[price1] ";
}
}
if($_SESSION['price2']==""&&$_REQUEST["price2"]=="" ||$_REQUEST["price2"]=="不限"){
if($_REQUEST["price2"]=="不限"){
$_SESSION["price2"]="";
}
$str5 = "and 1=1 ";
}else{
if($_REQUEST["price2"]==""){
$str5 = " and huiyuanjia <= $_SESSION[price2] ";
}else{
$_SESSION['price2']=$_REQUEST["price2"];
$str5 = " and huiyuanjia <= $_SESSION[price2] ";
}
if(($_SESSION['type']=="" && $_REQUEST["type"]=="") || $_REQUEST["type"]=="不限"){
//如果session中存的值和request接收的值都为空 或者为request为不限 判断为真
if($_REQUEST["type"]=="不限"){$_SESSION["type"]="";
}
$str = "1=1 ";//sql语句连接字符串置为 1=1 为所有值。
}else{
if($_REQUEST["type"]==""){
$str = " typeid =". $_SESSION["type"]." " ;
}else{
$_SESSION['type']=$_REQUEST["type"];
$str = " typeid = ".$_SESSION["type"]." " ;
//如果判断为假,则sql连接字符串置为以上。用于后面的多条件查询。
}}
if($_SESSION['place']=="" && $_REQUEST["place"]==""||$_REQUEST["place"]=="不限"){
if($_REQUEST["place"]=="不限"){
$_SESSION["place"]="";
}
$str1 = "and 1=1 ";
}else{
if($_REQUEST["place"]==""){
$str1 = " and dengji = "."'".$_SESSION[place]."' ";
}else{
$_SESSION['place']=$_REQUEST["place"];
$str1 = " and dengji = "."'".$_SESSION[place]."' ";}
}
if($_SESSION['year']==""&&$_REQUEST["year"]==""||$_REQUEST["year"]=="不限"){
if($_REQUEST["year"]=="不限"){
$_SESSION["year"]="";
}
$str2 = "and 1=1 ";
}else{
if($_REQUEST["year"]==""){
$str2 = " and addtime >= $_SESSION[year] and addtime < $_SESSION[year2] ";
}else{
$_SESSION['year']=$_REQUEST["year"];
$_SESSION["year2"]=$_REQUEST["year"]+10;
$str2 = " and addtime >= $_SESSION[year] and addtime < $_SESSION[year2] ";
}
}
if($_SESSION['brand']==""&&$_REQUEST["brand"]==""||$_REQUEST["brand"]=="不限"){
if($_REQUEST["brand"]=="不限"){
$_SESSION["brand"]="";
}
$str3 = "and 1=1 ";
}else{
if($_REQUEST["brand"]==""){
$str3 = " and pinpai ="."'". $_SESSION[brand]."'" ;
}else{
$_SESSION['brand']=$_REQUEST["brand"];
$str3 = " and pinpai ="."'". $_SESSION[brand]."'" ;
}
}
if($_SESSION['price1']==""&&$_REQUEST["price1"]==""||$_REQUEST["price1"]=="不限"){
if($_REQUEST["price1"]=="不限"){
$_SESSION["price1"]="";
}
$str4 = "and 1=1 ";
}else{
if($_REQUEST["price1"]==""){
$str4 = " and huiyuanjia >= $_SESSION[price1] ";
}else{
$_SESSION['price1']=$_REQUEST["price1"];
$str4 = " and huiyuanjia >= $_SESSION[price1] ";
}
}
if($_SESSION['price2']==""&&$_REQUEST["price2"]=="" ||$_REQUEST["price2"]=="不限"){
if($_REQUEST["price2"]=="不限"){
$_SESSION["price2"]="";
}
$str5 = "and 1=1 ";
}else{
if($_REQUEST["price2"]==""){
$str5 = " and huiyuanjia <= $_SESSION[price2] ";
}else{
$_SESSION['price2']=$_REQUEST["price2"];
$str5 = " and huiyuanjia <= $_SESSION[price2] ";
}
}
?>
//html部分
<?php
$type_order = "id";
mysql_query("SET NAMES 'utf8';");
$sql="select * from tb_shangpin where ".$str.$str1.$str2.$str3.$str4.$str5." order by ".$type_order." desc " ;//sql语句为上面多个$str 的连接,做多条件查询!
$arr=mysql_query($sql);
print_r($sql);
while($info=mysql_fetch_assoc($arr)){
?>
//html部分,循环输出数组中的元素。效果见下图
<?php }?>
在做商品分类查询时,某一个查询条件为不限时sql中不太好处理。利用1=1这一个恒为真条件,于通过字符串连接的方法就能够比较方便的处理。效果见下面的图。
- sql多变量条件查询,变量条件可能为全部都符合。利用1=1做字符串连接查询
- SQL----多张表连接查询,只查出符合条件的数据
- 存储过程中的符合条件查询 and 1= ''+@knlgName+''
- 查询条件中要求符合部分字符串“%”
- 查询符合条件的 sql agent job
- SSRS-查询条件为空,查询所有数据,否者查询符合条件的数据 解决办法
- 条件查询&SQL查询
- Sql 查询一个表中符合条件的且某一项为最大的记录
- 字符串变量作mysql查询条件
- 求教 oracle sql 能不能在条件为空时查询全部数据??纯sql写 谢谢
- 【SQL】按字段分组查询符合条件记录的方法
- QT SQL 变量 条件查询 插入数据
- QT SQL 变量 条件查询 插入数据
- 模糊查询中用变量做查询条件(示例)
- C#连接SQL多条件复杂查询
- 多条件组合查询,sql语句连接
- thinkPHP后台查询mySQL中数据时,当没有符合条件的记录count结果集的值为1
- Criteria条件查询和全部查询
- ZOJ Monthly, March 2013 解题报告
- iOS网络编程-iCloud文档存储编程实例
- 关于N个球,其中有1个不同质量的球,如何用天平称3次找出那个质量不同的球?的个人研究
- 各式各样的验证码
- 382. Speech is silver, silence is gold. 能说是银,沉默是金
- sql多变量条件查询,变量条件可能为全部都符合。利用1=1做字符串连接查询
- iOS Human Interface Guidelines
- 下载并同步 Google Fonts 里的字体到你的电脑
- NoteExpress文献管理技巧
- 在OpenCV中用cvCalibrateCamera2进行相机标定
- 实例分析Java Class的文件结构
- DELL Inspiron One 2020 安装win7问题
- Intent和PendingIntent的区别
- OPENCV版本的摄像机标定(张正友)