利用类的属性来对时间区间的搜索
来源:互联网 发布:决策树算法原理 编辑:程序博客网 时间:2024/05/22 12:58
今天工作的时候遇到一个问题,一个模块的数据表只存了一个时间字段 add_time ,但是搜索是区间的。
这个时候就可以用我的办法来解决了。这个问题比较常见,故而整理下来。
<td > 操作时间 <input type="text" name="start_time" id="start_time" value="" class="Wdate" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd'})" size="15"> ~<input type="text" name="end_time" id="end_time" value="" class="Wdate" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd'})" size="15"> </td>
start_time 和 end_time 是数据库中没有的,
add_time 数据库中存储的是这个字段
接着需要在model中定义属性,start_time和end_time,因为需要在search方法中用到
public $startTime;public $endTime;
在执行搜索的控制器代码处,增加
$model->attributes = $_POST['queryParams']; $_GET['page'] = $_POST['page']; $model->startTime = $_POST['queryParams']['start_time']; $model->endTime = $_POST['queryParams']['end_time'];
这个时候程序对去找model中的search,在search方法中接着处理
$criteria=new CDbCriteria();$criteria->compare('order_type',$this->order_type);$criteria->compare('order_id',$this->order_id);$criteria->compare('order_sn',$this->order_sn);$criteria->compare('operator',$this->operator);$criteria->compare('notes',$this->notes);$criteria->compare('front_show', $this->front_show);<span style="color:#ff0000;">if($this->endTime){$criteria->addCondition('add_time <='.strtotime($this->endTime));}if($this->startTime){$criteria->addCondition('add_time >='.strtotime($this->startTime));}</span>$criteria->order = 'order_id';
这样就解决了。
但是这样并不等于完成了,因为方法原理你明白了?
原理:
利用model类中的属性 start_time和end_time ,在执行这个方法的时候先给他们赋值,在执行search方法的时候再去调用赋的值。
- 利用类的属性来对时间区间的搜索
- 利用二分搜索,查找一个给定的值所在区间
- InfluxDB-Java 对Point类时间属性的扩展
- 利用NS2的产生随机数机制来实现对链路的动态设置(连接建立时间,延迟)
- java 利用反射机制的刀实体类的属性以及对属性操作
- 我对时间管理,对利用工具的一些看法
- 二分搜索的区间问题
- 利用CSS的Clip属性来创造多彩文字
- 利用css3属性:transition-duration来做简单的动画
- 利用自定义xml属性指定来RecyclerView的LayoutManager
- 利用unity3d属性来设置Inspector面板的特殊行为
- JavaScript--利用变量来修改属性的小练习
- 对List对象列表属性值的快速搜索
- 利用分治算法,来完成逆序对的查找
- 利用缓存机制来实现对页面的优化
- ASP+Access 怎么利用一个搜索语句的结果做另一个搜索语句的字段来搜索?
- ASP+Access 怎么利用一个搜索语句的结果做另一个搜索语句的字段来搜索?
- 利用File类来实现对文件和文件夹数目的统计
- hdu1712
- strrev函数
- Delphi DbgridEh实现鼠标拖动选中列,并使复选框选中
- strset函数
- Android中类似于奇虎360手机卫士中摇一摇效果实现
- 利用类的属性来对时间区间的搜索
- js对输入用户名的限制
- Android上的单元测试
- Oracle卸载
- 为你的输入框或者搜索框提供语音输入功能(超酷超装逼超折腾的功能)
- HTTP中Get和Post方式的区别
- memset用法详解
- automake 之 helloworld 实例[转]
- Mongodb is vulnerable to SQL injection in PHP at least