欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。

文摘  PHP联合查询,多条件混合筛选功能的实现方法

PHP学习 网络 915 0评论

20210803112305.jpg


Css如下:

<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>


HTML如下:

<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>


JS如下:

<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如下:

<?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];

/**

*加入搜索条件

*/

?>


原文地址:https://www.jb51.net/article/171517.htm

转载请注明: ITTXX.CN--分享互联网 » PHP联合查询,多条件混合筛选功能的实现方法

最后更新:2021-08-03 11:28:21

赞 (6) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽