在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'";
- } //Vevb.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}
新聞熱點
疑難解答