PHP之多条件混合筛选功能的实现方法
时间:2022-07-27
本文章向大家介绍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之多条件混合筛选功能的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考。
- 动软.net代码生成器 win2008 r2下无法连接oracle,以及vs2008模板丢失的解决
- ASP.NET Web API 支持 CORS
- oracle odp.net 32位/64位版本的问题
- Redis+TwemProxy(nutcracker)集群方案部署记录
- 金融科技新常态,未来开启拼“硬实力”阶段
- Mono 3 的默认Gc是Sgen
- Linux下Redis主从复制以及SSDB主主复制环境部署记录
- 单元测试同时支持 NUnit/MSTest
- log4net快速上手
- MySQL高可用方案-PXC环境部署记录
- Redis主从复制下的工作原理梳理
- Linux系统下常用的数据备份方法
- K2 的Workspace 遭遇400 RequestLength 错误修复
- 从零开始学人工智能-Python·决策树(三)·节点
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- python 爬虫之selenium可视化爬虫
- Android Studio3.6.+ 插件搜索不到终极解决方案(图文详解)
- Spring 整合 SpringDataRedis
- Android 实现可任意拖动的悬浮窗功能(类似悬浮球)
- Android仿抖音右滑清屏左滑列表功能的实现代码
- 利用织梦CMS0day注入漏洞渗透测试
- nodejs中追加内容到文件
- android实现滚动文本效果
- Android实现View的拖拽
- 诊断日志知多少 | DiagnosticSource 在.NET上的应用
- Android Studio 4.0新特性及升级异常问题的解决方案
- Android Studio 4.0 正式发布在Ubuntu 20.04中安装的方法
- Android Studio 4.0 新功能中的Live Layout Inspector详解
- Android实现滑动刻度尺效果
- Android 仿微信发动态九宫格拖拽、删除功能