加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

phpcms v9 时间筛选该如何做?

发布时间:2021-12-17 14:15:23 所属栏目:经验 来源:互联网
导读:在phpcmsv9里,分类信息里的筛选功能让人很兴奋,如果想在内容页里也想做筛选,那么就得把分类信息的函数移植到全局函数或者扩展函数里去,下一篇内容将为大家介绍. 本次内容是教大家做时间的筛选,因为做寿县房产网的时候,楼盘开盘有个开盘时间,所以找了很多资
在phpcmsv9里,分类信息里的筛选功能让人很兴奋,如果想在内容页里也想做筛选,那么就得把分类信息的函数移植到全局函数或者扩展函数里去,下一篇内容将为大家介绍.
 
本次内容是教大家做时间的筛选,因为做寿县房产网的时候,楼盘开盘有个开盘时间,所以找了很多资料解决了这个问题.
 
找到filters_sql函数加入如下代码:
 
function filters_sql($modelid)
 
            elseif($fields[$k]['formtype'] == 'datetime') {
                if(is_numeric($r)) {
                    $sql .=" AND `$k` = '$r'";
                } else {
                    $fieldvalue = explode('_',$r);
                    $min = intval($fieldvalue[0]);
                    $max = $fieldvalue[1] ? intval($fieldvalue[1]) : 999999;                
                    $sql .="AND TO_DAYS(`$k`) - TO_DAYS(NOW()) >= '$min' AND TO_DAYS(`$k`) - TO_DAYS(NOW()) < '$max'";
                } //Cuoxin.com
            }
关键点在:$sql .="AND TO_DAYS(`$k`) - TO_DAYS(NOW()) >= '$min' AND TO_DAYS(`$k`) - TO_DAYS(NOW()) < '$max'";
 
用到的是日期差的问题,前台调用的时候用如下代码:
 
开课计划:
 {php $opentime = array('最近1个月|1_30','最近2个月|30_90','最近3个月|90_120','最近6个月|120_180','最近1年|180_360')}
 {loop yp_filters('opentime',$modelid,$opentime) $r}
     {$r[menu]}
 {/loop}

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!