PHP之多条件混合筛选功能的实现方法


Posted in PHP onOctober 09, 2019

如下所示:

PHP之多条件混合筛选功能的实现方法

<style type="text/css">

.search_text{ overflow:hidden; height:100%; padding-top:5px; padding-bottom:5px;}
.search_text h1{ color:#6a6a6a; font-weight:bold; float:left; font-size:14px; margin:0px; padding:0px;}
.search_text ul{ margin:0; padding:0; list-style:none; float:left; overflow:hidden; height:100%;}
.search_text li{ list-style:none; color:#6a6a6a; float:left; width:80px; padding-left:8px; padding-right:5px; white-space:nowrap}
.search_text li a{ list-style:none; color:#6a6a6a;}
.search_text li a:hover{ list-style:none; color:#fe8f01; font-weight:bold; text-decoration:underline;}
.search_text li.selected{color:#fe8f01; font-weight:bold;}
.search_text li.selected a{color:#fe8f01;}
.search_text li.selected a:hover{color:#fe8f01;}
</style>
<div class="search_text" id="year">
  <h1>生产年度:</h1>
  <ul>
   <li class="selected"><a href="javascript:goSort('year',0)" rel="external nofollow" >全部</a></li>
   <li><a href="javascript:goSort('year',1)" rel="external nofollow" >2015</a></li>
   <li><a href="javascript:goSort('year',2)" rel="external nofollow" >2014</a></li>
  </ul>
</div>
<div class="search_text" id="ctype">
  <h1>棉花类型:</h1>
  <ul>
   <li class="selected"><a href="javascript:goSort('ctype',0);" rel="external nofollow" >全部</a> </li>
   <li><a href="javascript:goSort('ctype',1);" rel="external nofollow" >手采棉</a></li>
   <li><a href="javascript:goSort('ctype',2);" rel="external nofollow" >机采棉</a></li>
   </li>
  </ul>
</div>
<div class="search_text" id="colors">
  <h1>颜 色 级 :</h1>
  <ul>
   <li class="selected"><a href="javascript:goSort('colors',0);" rel="external nofollow" >全部</a> </li>
   <li><a href="javascript:goSort('colors',1);" rel="external nofollow" >白棉1级</a></li>
   <li><a href="javascript:goSort('colors',2);" rel="external nofollow" >白棉2级</a></li>
   <li><a href="javascript:goSort('colors',3);" rel="external nofollow" >白棉3级</a></li>
   <li><a href="javascript:goSort('colors',4);" rel="external nofollow" >白棉4级</a></li>
   <li><a href="javascript:goSort('colors',5);" rel="external nofollow" >白棉5级</a></li>
   <li><a href="javascript:goSort('colors',6);" rel="external nofollow" >淡点污棉1级</a></li>
  </ul>
</div>
<div class="search_text" id="lengths">
  <h1>长 度 级 :</h1>
  <ul>
   <li class="selected"><a href="javascript:goSort('lengths',0);" rel="external nofollow" >全部</a> </li>
   <li><a href="javascript:goSort('lengths',1);" rel="external nofollow" >26CM</a></li>
   <li><a href="javascript:goSort('lengths',2);" rel="external nofollow" >27CM</a></li>
   <li><a href="javascript:goSort('lengths',3);" rel="external nofollow" >28CM</a></li>
   <li><a href="javascript:goSort('lengths',4);" rel="external nofollow" >29CM</a></li>
   <li><a href="javascript:goSort('lengths',5);" rel="external nofollow" >30CM</a></li>
   <li><a href="javascript:goSort('lengths',6);" rel="external nofollow" >31CM</a></li>
   <li><a href="javascript:goSort('lengths',7);" rel="external nofollow" >32CM</a></li>
  </ul>
</div>
<div class="search_text" id="micronaire">
  <h1>马克隆值:</h1>
  <ul>
   <li class="selected"><a href="javascript:goSort('micronaire',0);" rel="external nofollow" >全部</a> </li>
   <li><a href="javascript:goSort('micronaire',1);" rel="external nofollow" >C2</a></li>
   <li><a href="javascript:goSort('micronaire',2);" rel="external nofollow" >B2</a></li>
   <li><a href="javascript:goSort('micronaire',3);" rel="external nofollow" >A</a></li>
   <li><a href="javascript:goSort('micronaire',4);" rel="external nofollow" >B1</a></li>
   <li><a href="javascript:goSort('micronaire',5);" rel="external nofollow" >C1</a></li>
  </ul>
</div>
<script language="javascript">
function getQueryString(){
   var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+","g"));
   if(result == null){
     return "";
   }
   for(var i = 0; i < result.length; i++){
     result[i] = result[i].substring(1);
   }
   return result;
}
function goSort(name,value){
  var string_array = getQueryString();
  var oldUrl = (document.URL.indexOf("cotton.php")==-1)?document.URL+"cotton.php":document.URL;
  var newUrl;
  if(string_array.length>0)//如果已经有筛选条件
  {  var repeatField = false;
    for(var i=0;i<string_array.length;i++){
      if(!(string_array[i].indexOf(name)==-1)){
        repeatField = true;//如果有重复筛选条件,替换条件值
        newUrl = oldUrl.replace(string_array[i],name+"="+value);
      }
    }
    //如果没有重复的筛选字段
    if(repeatField == false){
      newUrl = oldUrl+"&"+name+"="+value;
    }
  }else{//如果还没有筛选条件
    newUrl = oldUrl+"?"+name+"="+value;
  }
  //跳转
  window.location = newUrl;
}
function setSelected(name,value){
  var all_li = $("#"+name).find("li");
  //清除所有li标签的selected类
  all_li.each(function(){
    $(this).removeClass("selected");
  });
  //为选中的li增加selected类
  all_li.eq(value).addClass("selected");
}
$(document).ready(function(){
  var string_array = getQueryString();
  for(var i=0;i<string_array.length;i++){
    var tempArr = string_array[i].split("=");
    setSelected(tempArr[0],tempArr[1]);//设置选中的筛选条件
  }
});
</script>
<?php
/**
*加入搜索条件
*/
$where ="1";
$year_array = array(1=>'2015',2=>'2014');
$ctype_array = array(1=>'0',2=>'1');
$colors_array = array(1=>'0',2=>'1',3=>'2',4=>'3',5=>'4',6=>'5');
$lengths_array = array(1=>'0',2=>'1',3=>'2',4=>'3',5=>'4',6=>'5',7=>'6');
$micronaire_array = array(1=>'0',2=>'1',3=>'2',4=>'3',5=>'4');
   
if(isset($year)&&($year!=0)) $where .= " AND year=".$year_array[$year];
if(isset($ctype)&&($ctype!=0)) $where .= " AND ctype=".$ctype_array[$ctype];
if(isset($colors)&&($colors!=0)) $where .= " AND colors=".$colors_array[$colors];
if(isset($lengths)&&($lengths!=0)) $where .= " AND lengths=".$lengths_array[$lengths];
if(isset($micronaire)&&($micronaire!=0)) $where .= " AND micronaire=".$micronaire_array[$micronaire];
/**
*加入搜索条件
*/
?>

PHP中获取到$where条件,加入到SQL语句中获取数据列表。

以上这篇PHP之多条件混合筛选功能的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
信用卡效验程序
Oct 09 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
PHP 命名空间实例说明
Jan 27 PHP
set_include_path和get_include_path使用及注意事项
Feb 02 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
PHP实现PDO的mysql数据库操作类
Dec 12 PHP
PHP封装CURL扩展类实例
Jul 28 PHP
如何使用php实现评委评分器
Jul 31 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
php简单处理XML数据的方法示例
May 19 PHP
Laravel 集成 Geetest验证码的方法
May 14 PHP
Yii框架Session与Cookie使用方法示例
Oct 14 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 #PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 #PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 #PHP
Laravel统计一段时间间隔的数据方法
Oct 09 #PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 #PHP
laravel按天、按小时,查询数据的实例
Oct 09 #PHP
laravel多条件查询方法(and,or嵌套查询)
Oct 09 #PHP
You might like
模仿OSO的论坛(五)
2006/10/09 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
vue.js中$watch的用法示例
2016/10/04 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
微信小程序反编译的实现
2020/12/10 Javascript
django框架如何集成celery进行开发
2017/05/24 Python
Python常见的pandas用法demo示例
2019/03/16 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
美国杰西潘尼官网:JCPenney
2019/06/12 全球购物
体育专业个人的求职信范文
2013/09/21 职场文书
市场营销专业推荐信
2013/11/03 职场文书
音乐专业应届生教师求职信
2013/11/04 职场文书
客房主管岗位职责
2013/12/09 职场文书
道路交通安全实施方案
2014/03/12 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
实习指导老师意见
2015/06/04 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python