帝国论坛帝国网站管理系统交流区帝国CMS使用交流[分享]结合项实现范围筛选的方法【4.6修改】 【本版专题贴子】  
 1/4     1 2 3 4 ›› ›|
主题:[分享]结合项实现范围筛选的方法【4.6修改】 [加入收藏夹]   

thzths
用户头衔:秀才

精华贴   :0
发贴数   :24
经验值   :318
注册时间:2006-03-19
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[分享]结合项实现范围筛选的方法【4.6修改】
多谢版主指出漏洞,请下过的重新下载,或者参考11楼版主的办法修改

编辑e\action\ListInfo.php,找到

//结合项
if(!empty($emod_r[$mid]['listandf'])&&$_GET['ph']==1)
{
        $andor=$_GET['andor']=='or'?'or':'and';
        $search.='&ph=1&andor='.$andor;
        $listandf='';
        $andr=explode(',',$emod_r[$mid]['listandf']);
        $count=count($andr)-1;
        for($i=1;$i<$count;$i++)
        {
                $andval=$_GET[$andr[$i]];
                if(!empty($andval))
                {
                        $doandor=empty($listandf)?'':' '.$andor.' ';
                        if(empty($emod_r[$mid]['setandf']))
                        {
                                $listandf.=$doandor.$andr[$i]."='".RepPostVar2($andval)."'";
                        }
                        else
                        {
                                $listandf.=$doandor.$andr[$i]." like '%".RepPostVar2($andval)."%'";
                        }
                        $search.="&".$andr[$i]."=$andval";
                }
        }
        if($listandf)
        {
                $add.=' and ('.$listandf.')';
        }
}

替换为

//结合项
if(!empty($emod_r[$mid]['listandf'])&&$_GET['ph']==1)
{
        $andor=$_GET['andor']=='or'?'or':'and';
        $search.='&ph=1&andor='.$andor;
        $listandf='';
        $andr=explode(',',$emod_r[$mid]['listandf']);
        $count=count($andr)-1;
        for($i=1;$i<$count;$i++)
        {
                $andval=$_GET[$andr[$i]];
                if(!empty($andval))
                {
                        $doandor=empty($listandf)?'':' '.$andor.' ';                       
                        if(empty($emod_r[$mid]['setandf']))
                        {
                                if(strstr($andval,'-'))
                        {
                                $kr=explode('-',$andval);
                        if(trim($kr[0])||trim($kr[1]))
                        {
                                $listandf.=$doandor.$andr[$i]." BETWEEN '".intval($kr[0])."' and '".intval($kr[1])."'";
                        }
                        }
                       
                        else{
                                $listandf.=$doandor.$andr[$i]."='".RepPostVar2($andval)."'";
                        }
                        }
                        else
                        {
                                $listandf.=$doandor.$andr[$i]." like '%".RepPostVar2($andval)."%'";
                        }
                        $search.="&".$andr[$i]."=$andval";
                }
        }
        if($listandf)
        {
                $add.=' and ('.$listandf.')';
        }
}

如果没修改过改文件,可以使用附件的同名文件覆盖!

========================================================================================

结合会员poo的筛选标签:http://bbs.phome.net/ShowThread?threadid=85689&forumid=31

列表页支持横向列表筛选各属性值的标签(已添加到附件)


调用方法:

<dl><dt>区域:</dt><dd>[echolistlink]'myarea','香洲|拱北|吉大|前山|新香洲|南湾|唐家湾|斗门|金湾|周边','香洲|拱北|吉大|前山|新香洲|南湾|唐家湾|斗门|金湾|周边','mycss','不限'[/echolistlink]</dd></dl>
<dl><dt>租金:</dt><dd>[echolistlink]'price','500元以下|500-800元|800-1200元|1200-1800元|1800-2500元|2500-4000元|4000元以上','0-500|501-800|801-1200|1201-1800|1801-2500|2501-4000|4001-99999','mycss','不限'[/echolistlink]</dd></dl>
<dl><dt>房型:</dt><dd>[echolistlink]'room','一室|二室|三室|四室|四室以上','1|2|3|4|5-20','mycss','不限'[/echolistlink]</dd></dl>

注意:作为范围筛选的字段只能使用数字型,INT,FLOAT,DOUBLE等



上传以下图片:


[该贴被修改 4 次,最后修改时间 2010-04-06 20:13:51 ]


珠海在线——珠海最大生活信息平台
http://www.cnzhuhai.com
2010-03-23 13:08:44 已设置保密 顶部 回复 引用 报告 编辑 删除

thzths
用户头衔:秀才

精华贴   :0
发贴数   :24
经验值   :318
注册时间:2006-03-19
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

附件

上传以下附件:
[下载 *.rar](文件大小:4.97 KB,下载次数:172)

[该贴被修改 1 次,最后修改时间 2010-04-06 20:10:37 ]


珠海在线——珠海最大生活信息平台
http://www.cnzhuhai.com
2010-03-23 13:10:17 已设置保密 顶部 回复 引用 报告 编辑 删除

fantasy200x
用户头衔:举人

精华贴   :1
发贴数   :353
经验值   :1187
注册时间:2008-02-22
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

支持下




2010-03-23 14:09:04 已设置保密 顶部 回复 引用 报告 编辑 删除

188cn
用户头衔:探花

精华贴   :0
发贴数   :9148
经验值   :21447
注册时间:2008-10-25
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

支持




2010-03-23 14:44:58 已设置保密 顶部 回复 引用 报告 编辑 删除

winston
用户头衔:进士

精华贴   :1
发贴数   :606
经验值   :2095
注册时间:2009-10-10
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

这个应该不能正常分页的吧 。。。    按区间的我也弄出来了,想抽空过来分享下 看楼主放出  支持    你测试下能否正常分页(我的可以



承接各种网站建设,插件制作:QQ1160589143
爱威插件制作
zziwei.com
郑州网站建设

2010-03-25 12:34:52 已设置保密 顶部 回复 引用 报告 编辑 删除

yu6917650
用户头衔:秀才

精华贴   :0
发贴数   :196
经验值   :598
注册时间:2007-09-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

没看出和poo的有什么区别,人家本身就修改了的e\action\ListInfo.php,你这里想表达的是什么?




2010-03-25 13:00:17 已设置保密 顶部 回复 引用 报告 编辑 删除

thzths
用户头衔:秀才

精华贴   :0
发贴数   :24
经验值   :318
注册时间:2006-03-19
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

原帖由 yu6917650 于 2010-03-25 13:00:17 发表
没看出和poo的有什么区别,人家本身就修改了的e\action\ListInfo.php,你这里想表达的是什么?


范围筛选啊
你的租金填的是1000
就在800-1200之间
看来你是没有需要

[该贴被修改 1 次,最后修改时间 2010-03-26 22:03:29 ]


珠海在线——珠海最大生活信息平台
http://www.cnzhuhai.com
2010-03-26 22:01:48 已设置保密 顶部 回复 引用 报告 编辑 删除

thzths
用户头衔:秀才

精华贴   :0
发贴数   :24
经验值   :318
注册时间:2006-03-19
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

原帖由 winston 于 2010-03-25 12:34:52 发表
这个应该不能正常分页的吧 。。。    按区间的我也弄出来了,想抽空过来分享下 看楼主放出  支持    你测试下能否正常分页(我的...


我只是添加了一个判断而已,怎么影响到分页呢?实在不知道你在得意什么

[该贴被修改 2 次,最后修改时间 2010-03-26 22:09:09 ]


珠海在线——珠海最大生活信息平台
http://www.cnzhuhai.com
2010-03-26 22:02:41 已设置保密 顶部 回复 引用 报告 编辑 删除

thzths
用户头衔:秀才

精华贴   :0
发贴数   :24
经验值   :318
注册时间:2006-03-19
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

14个人下都没几个人来顶



珠海在线——珠海最大生活信息平台
http://www.cnzhuhai.com
2010-03-29 14:05:26 已设置保密 顶部 回复 引用 报告 编辑 删除

pw8
用户头衔:探花

精华贴   :0
发贴数   :8756
经验值   :22494
注册时间:2008-10-10
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

顶你一下




2010-03-29 16:11:19 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/4     1 2 3 4 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1