用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1709|回复: 8
收起左侧

ci中查询最近7天内最热的帖子的问题

[复制链接]
发表于 2014-1-13 19:09:31 | 显示全部楼层 |阅读模式
我想完成的功能是:查询数据库中最近7天内的帖子。
contro层是这样写的(只截取部分代码)
PHP复制代码
 
if($this->uri->segment(3)=="week"){ //列出一周内最热
                   $tm=time()-(7*24*3600);
                   echo time();
                   echo $tm;
                   $data['jokes'] = $this->joke_model->get_jokes_hot($config['per_page'],$this->uri->segment(3),$tm);
                 }
 
复制代码


model层是这样写的:
PHP复制代码
 
public function get_jokes_hot($limit, $offset,$tm){
        $this->db->order_by('likeNum','desc');
        $this->db->where('createtime >', $tm);
        $query = $this->db->get('joke',$limit, $offset);
       return $query->result_array();
   }
 
复制代码

但程序运行结果时间限制不起作用,列出的仍然是所有帖子

求解!!!


 楼主| 发表于 2014-1-13 19:27:27 | 显示全部楼层
补充一下数据库内的createtime字段形式为 2013-12-06 22:41:16  datetime
 楼主| 发表于 2014-1-14 13:15:25 | 显示全部楼层
跪求解答啊
发表于 2014-1-14 14:38:23 | 显示全部楼层
sql 有个week函数,一个sql就搞定了
 楼主| 发表于 2014-1-14 17:17:08 | 显示全部楼层
ljc 发表于 2014-1-14 14:38
sql 有个week函数,一个sql就搞定了

能具体一些吗?
发表于 2014-1-14 17:38:07 | 显示全部楼层
sql中加上where week(createtime)=week(now())
这表示创建时间是当前这周的
发表于 2014-1-15 14:03:31 | 显示全部楼层
哈~
发表于 2014-1-16 09:35:36 | 显示全部楼层
学会调试, 打印下SQL就知道了吧。
$data['jokes'] = $this->joke_model->get_jokes_hot($config['per_page'],$this->uri->segment(3),$tm);

下插入

echo $this->joke_model->db->last_query();
 楼主| 发表于 2014-1-17 11:40:48 | 显示全部楼层
$tm=time()-7*24*3600;
用sql语句在直接在数据库中测试,select * from db_joke where createtime> $tm  

查询出的结果还是从2013-12-06遮天开始的,我是今天测试的,
求解!!!

本版积分规则