php多条件筛选
Ⅰ 求一段php多条件筛选简单源码,顺便帮忙解释一下怎么样才可以同时接受job和home两个值
应该类似《产品多属性搜索》吧,这里有一篇我的博文,里面附带源码的。
http://www.cnblogs.com/Zjmainstay/archive/2013/01/02/proct_multiple_attribute_search.html
至于你的同时接受两个值,只要在链接中同时存在两个参数即可,如shuangxuan23.php?job=老师&home=中原 即可。
Ⅱ php多条件复合搜索怎么做到
这个用脚本来做更简单些,不用分多次往a.php传参。传一次就行了。
<!--HTML START-->
<!--函数参数推荐写数字,既对应“摩托罗拉”的id,但由于这里你没给出,我索性写上汉字了-->
<a href="javescript:set_made('摩托罗拉')">摩托罗拉</a>
<a href="javescript:set_made('诺基亚')">诺基亚</a>
<a href="javescript:set_made('苹果')">苹果</a>
<a href="javescript:set_price('1000-2000')">1000-2000元</a>
<a href="javescript:set_price('2000-3000')">2000-3000元</a>
<a href="javescript:set_price('3000-5000')">3000-5000元</a>
<a href="javescript:set_os('android系统')">android系统</a>
<a href="javescript:set_os('塞班系统')">塞班系统</a>
<a href="javescript:set_os('苹果系统')">苹果系统</a>
<!--这里的表单隐藏域,只显示一个搜索按钮-->
<form action='' method='post'>
<input id='made' name='made' type='hidden' value='<?php echo $_POST['made'] ?>'/>
<input id='price' name='price' type='hidden' value='<?php echo $_POST['price'] ?>'/>
<input id='os' name='os' type='hidden' value='<?php echo $_POST['os'] ?>'/>
<input type='submit' value = '搜索'/>
</form>
<!--HTML END-->
<!--SCRIPT START-->
<script>
/* @Tips : 这段JS代码可以放到单独的JS文件中去,也可以直接写到head里,随你。
* @Purpose : 这里几个函数分别是把隐藏域中的made、price、os设置成对应的值,点击链接时触发
* @Method : set_made,set_price,set_os
* @Param : str 字符串或者数字,请根据你的需要来决定
* @Return : NULL
*/
function set_made (str) {
document.getElementById('made').value = str;
}
function set_price (str) {
document.getElementById('price').value = str;
}
function set_os (str) {
document.getElementById('os').value = str;
}
</script>
<!--SCRIPT END-->
至于函数参数里你是要添ID 还是添汉字,自己改就行了。
还有你说的那个变色的问题,也不难做,但代码有点长,我懒得写了……
就跟你说一下方法:
首先你要给这几个<a>标签做个CSS类名,比如<a class='test'>,这个test可以不写,主要是用来区别页面其它的<a>标签。当然不写也没关系,只是会让JS脚本稍慢一点。
然后用document.getElementByTageName('a'),获取页面中所有的<a>标签。做个循环,把class不是test的过滤掉,再用他们的innerHTML属性与made、price、os的value属性分别比较,如果是一样的话,就改变它的背景颜色。
Ⅲ 【php】同一字符串,多个条件,如何高效的匹配
楼主的意思的是看一个字符串里有多少种字符吗?如果是这样可以这样做:
用两个函数处理即可:
$array=explode($str);
$array=array_unique($array);
第一个函数把字符串$str分解成一液李握个数组,赋给$array;
然后去除数组中相扰搜同的元素即可,闹庆剩下的就是数组在赋给$array即可。
纯手打,望采纳!
Ⅳ 织梦筛选功能怎么弄详细说明 ,谢谢!
织梦多条件筛选功能实现
我们已经在前台实现了筛选的功能了,虽然价格、尺寸两个类型没有添加,这是因为我是要把他们固定做好,因为他们在模型中使用的类型是数字类型,并非其他三个(品牌、平台以及显卡)是option类型。
既然前台已经做好了,那我们就开始后台的功能了。
具体的后台我使用的是advancesearch.php这个搜索的功能来实现的。
我们复制一个advancesearch.php的模板出来,默认的advanceserach.php的模板是/templets/default/advancesearch.htm,我们把这个模板,复制到我们的自定义的模板文件夹/templets/jingdong里面,名字就叫做filter_tmp.htm。
然后进入后台,在“内容模型管理”里面选择你所需要搜索的模型,然后点击这个模型后面的放大镜图标,在“附件表可供自定义搜索的字段”中,勾选上你需要搜索的字段,自定义搜索结果模板页,写上我们刚刚复制的模板名称,叫做filter_tmp.htm,确定。
这里可以测试一下,能否正常使用搜索。
不过好像是织梦系统自带的不可以的,我试了好多次都不行,追踪了一下,好像并没有查询附加表,于是在advancesearch.php的218行,原来的代码是
$query = "SELECT main.id AS aid,main.*,main.description AS description1, type.*
FROM $maintable main
LEFT JOIN #@__arctype type ON type.id = main.typeid
LEFT JOIN $addontable addon ON addon.aid = main.id
$where $orderby";
在type.*的后面添加行一个addon.*,也就是变成如下的代码
$query = "SELECT main.id AS aid,main.*,main.description AS description1, type.*,addon.*
FROM $maintable main
LEFT JOIN #@__arctype type ON type.id = main.typeid
LEFT JOIN $addontable addon ON addon.aid = main.id
$where $orderby";
然后还有124行添加 ${$var}=iconv(“utf-8″,”gb2312″,${$var}); 否则会导致中文乱码。
还有一个就是如果使用()英文括号的话,要小心了,因为会被安全sql过滤掉。
下面,是我简单的制作了下filter_tmp.htm,大家可以参考使用。
{dede:datalist}
<div style="border: 1px solid #CCC;margin:20px 0;">
<strong>标题:</strong>{dede:field.title/}<br />
<strong>品牌:</strong>{dede:field.pinpai/}<br />
<strong>价格:</strong>{dede:field.jiage/}<br />
<strong>尺寸:</strong>{dede:field.chicun/}<br />
<strong>平台:</strong>{dede:field.pingtai/}<br />
<strong>显卡:</strong>{dede:field.xianka/}<br />
</div>
{/dede:datalist}
{dede:pagelist listsize='5'/}
但是我们最终是要把这个页面“嵌”到filter.htm中,也就是最终的列表页里面。
现在我们打开filter这个模板文件,在最下面加一个div,id设置为result,这个是用来存放最后筛选出来的结果的地方。
然后打开filter.js,下面重点都是在这个js里面写的。
Ⅳ php多条件查询问题,怎么过滤空值
是的正如你所说有两种解决方案,第一种是采用PHP的方式,先判断数据的合法性,比如是否提交了空值(推荐使用,没有垃圾数据);第二种不做任何判断,空值也能提交到数据库,只是在SQL查询时过滤空值数据(不推荐使用,有垃圾数据)。
解决方案1(通过PHP过滤空值数据):
if($_POST['字段']=='')exit('<scripttype="text/javascript">alert("数据不合法!");history.back();</script>');//依此类推,逐一判断表单$_POST数据
解决方案2(通过SQL查询来过滤空值数据):
SELECT`字段名`FROM`表名`WHERE`字段1`NOTIN('',NULL)AND`字段2`NOTIN('',NULL)...;
以上就是两种解决方案,我推荐两种方案组合使用,这样确保万无一失,如有问题欢迎追问~
Ⅵ PHP页面怎么实现多条件判断后跳转
你一点都不懂,我也不可能从零教你呀。
多条件判断:
if(条件1 && 条件2 && 条件3 .....){
require("./index1.html");
}else{
require("./index2.html");
}
大致就是这样子。每个条件的判断你可以单独写成函数。
判断地区不要使用你给的那个 js 的链接,那是前端的处理方法;你需要的是后端php处理的方法,可以通过获取用户的ip,再通过ip获取用户所在地区。
我只能帮到这里了!