2014-04-03 152 views
0

我的查询不起作用。我正在使用codeigniter。我想根据日期范围筛选获取这些记录的列表。如何获取特定日期范围内的记录

这里是我的控制器:

public function filter($type){ 
    $fromdt = date("Y-d-m",strtotime($this->input->post("from"))); 
    $todt = date("Y-d-m",strtotime($this->input->post("to"))); 
    $session_data = $this->session->userdata('logged_in'); 
    $this->load->model("mymodel");  
    print_r($this->mymodel->filterdata($fromdt,$todt,$session_data['id'])); 
} 

这是我在型号:

public function filterdata($from,$to,$userid){ 
    $query = $this->db->query("SELECT table1.id,table1.quest,table1.post_id,table1.quote_id,table2.in_dairy FROM table1,table2 
    WHERE table2.quote_id = table1.id AND table2.reader_id='$userid' 
    AND table1.in_dairy='yes' AND table2.dairy_dt>='$from' AND 
    table2.dairy_dt<='$to'"); 
    return $query->result(); 
} 

注:我dairy_dt场是在MySQL日期类型。我不知道为什么它会显示一个空的结果..更新您的功能

public function filter($type){ 
    $fromdt = date("Y-m-d",strtotime($this->input->post("from"))); 
    $todt = date("Y-m-d",strtotime($this->input->post("to"))); 
    $session_data = $this->session->userdata('logged_in'); 
    $this->load->model("mymodel");  
    print_r($this->mymodel->filterdata($fromdt,$todt,$session_data['id'])); 
} 

MySQL的日期格式后

+0

$ fromdt和$托德的样子后ü将它们转换为Y-M-d? –

+0

其2014-04-02 – rbstack

+0

当没有表12时,你写了'table12.quote_id'。你也在做'AND table2.dairy_dt> ='$ from'AND table1.dairy_dt <='$ to''。这些应该来自同一个表 – Tom

回答

0

尝试就像是:年月日

+0

它仍然返回空数组 – rbstack

+0

您可以提供您的架构样本数据吗?如果您从条件中删除日期,您是否获取数据? –

+0

是的,我得到的数据,如果我从条件 – rbstack

0

为什么你回到$查询 - >结果()如果你没有分配你所做的查询?我的意思是,

$this->db->query("SELECT table1..... 
return $query->result(); 

哪里是$查询值?你应该做的

相关问题