联系官方销售客服

1835022288

028-61286886

求助 版主:论坛审计组
如何按Date时间字段搜索?
类型:迅睿CMS 更新时间:2018-03-22 10:36:57
回帖
  • 董林
    #1楼    董林
    2018-03-06 08:36:31
    0
    除非后台存储是2018-3-22
  • 功能插件开发
    #2楼    功能插件开发
    2018-03-06 10:43:41
    0
    可以做到,必须重写search类

    我们以Demo模块为例,新建App/Demo/Models/Search.php

    <?php namespace Phpcmf\Model;
    
    // 模块内容搜索类
    
    class My_Search extends \Phpcmf\Model\Search {
    
        
        // 自定义组合查询条件
        protected function mysearch($module, $where, $get) {
        
            // 重新对where条件的组装
            这里写格式化代码,把2018-03-22 转换成1521648000
        
            return $where;
        }
    }
  • 功能插件开发
    #3楼    功能插件开发
    2018-03-06 12:57:20
    0
    我是在别人代码里面看到的这种写法【小刘】3楼
  • 周大帅
    #4楼    周大帅
    2018-03-07 12:17:18
    0
    【功能插件开发】2楼
    blob.png
    能否帮写个完整代码
  • 伍成才
    #5楼    伍成才
    2018-03-22 10:15:22
    0
    自己用js转换一下 时间格式在提交表单即可呀。
  • 周大帅
    #6楼    周大帅
    2018-03-22 10:36:10
    0
    <script>
    	function changedate() {
    	var wuliuriqi = document.getElementById('inputdate').value;
    	if(wuliuriqi) {
    		var stringTime = wuliuriqi + " 01:00:00";
    		var timestamp2 = Date.parse(new Date(stringTime));
    		document.getElementById('wuliuriqi').value = timestamp2 / 1000;
    	}
    	return true;
        }
    </script>
    自己解决了,直接在模板中增加以上JS代码即可。
    完整示例:
    <div class="wuliu-search">
      <form action="" onsubmit="return changedate()" method="get" class="my_top_search">
      	<input name="c" value="search" type="hidden">
      	<input type="hidden" name="s" id="s" value="wuliu" />
    	<div class="a"><input type="text" name="qdcs" id="qdcs" value="" placeholder="起点城市" /></div>
    	<div class="b"><input type="text" name="zdcs" id="zdcs" value="" placeholder="终点城市" /></div>
    	<div class="c"><input type="text" name="" id="inputdate" value="" placeholder="不限日期" />	<input type="hidden" name="wuliuriqi" id="wuliuriqi" value="" placeholder="不限日期" />	</div>
    	<div class="d"><input type="submit" name="submit" value="搜索" class="kbut"></div>
      </form>
    </div>
    <script>
    	function changedate() {
    	var wuliuriqi = document.getElementById('inputdate').value;
    	if(wuliuriqi) {
    		var stringTime = wuliuriqi + " 01:00:00";
    		var timestamp2 = Date.parse(new Date(stringTime));
    		document.getElementById('wuliuriqi').value = timestamp2 / 1000;
    	}
    	return true;
        }
    </script>
    满意答案
  • 周大帅
    #7楼    周大帅
    2018-03-22 10:36:57
    0
    感谢“伍成才 【6楼】”的指点。给我解决此问题,我已经完美的解决