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 相关文章推荐
用PHP实现图象锐化代码
Jun 14 PHP
PHP基础陷阱题(变量赋值)
Sep 12 PHP
PHP数据类型之布尔型的介绍
Apr 28 PHP
在yii中新增一个用户验证的方法详解
Jun 20 PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
PHP数组相关函数汇总
Mar 24 PHP
给WordPress中的留言加上楼层号的PHP代码实例
Dec 14 PHP
php简单读取.vcf格式文件的方法示例
Sep 02 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 PHP
thinkphp5使html5实现动态跳转的例子
Oct 16 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
最省空间的计数器
2006/10/09 PHP
mysql建立外键
2006/11/25 PHP
SSI指令
2006/11/25 PHP
PHP Directory 函数的详解
2013/03/07 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
浅析Node.js查找字符串功能
2014/09/03 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
微信小程序实现日历小功能
2020/11/18 Javascript
Python基于OpenCV实现视频的人脸检测
2018/01/23 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
幼师专业毕业生自荐信
2013/09/29 职场文书
英语系毕业生自荐信
2013/10/31 职场文书
写演讲稿要注意的六件事
2014/01/14 职场文书
检讨书范文300字
2015/01/28 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书