2016-08-21 41 views
0

我想在明天之前獲取所有具有duedate(tasks_duedate)的數據。CODEIGNITER:如何獲取所有到期日期到明天的行?

public function getNumDueTomorrowTasks(){ 
    $date = date('Y-m-d H:i:s', strtotime('+1 day')); 
    $this->db->select('*'); 
    $this->db->from('tasks'); 
    $this->db->where("user_id",$this->session->userdata('user_id')); 
    $this->db->where("tasks_duedate >", $date); 
    $this->db->order_by("tasks_id", "desc");  
    $query_result=$this->db->get(); 
    $result=$query_result->result(); 
    $total = count ($result); 
    return $total; 
    } 

我在做什麼錯在這裏?

+1

你會得到什麼結果,它們與預期結果有什麼不同?你有樣本數據和預期總數嗎? –

+0

我得到的所有數據都比當天早。例如:今天是2016年8月22日,我從01.12.2016獲得數據,我只想要明天的數據。 – Developer

回答

3

自己沒有機會測試這個,但是,MySQL Between可以在這裏發揮作用。

public function getNumDueTomorrowTasks(){ 
    $date = date('Y-m-d H:i:s', strtotime('+1 day')); 
    $today = date('Y-m-d H:i:s'); 
    $this->db->select('*'); 
    $this->db->from('tasks'); 
    $this->db->where("user_id",$this->session->userdata('user_id')); 
    $this->db->where('tasks_duedate BETWEEN "'. $today . '" and "'. $date .'"') 
    $this->db->order_by("tasks_id", "desc");  
    $query_result=$this->db->get(); 
    $result=$query_result->result(); 
    $total = count ($result); 
    return $total; 
} 
+0

我得到一個解析錯誤從「(T_STRING)」之間的「語法錯誤,意外」 – Developer

+0

不幸的是我得到了同樣的錯誤。 – Developer

+0

'$ this-> db-> where(「tasks_duedate BETWEEN $ today AND $ date」);' 這個怎麼樣? 如果不是這個可能的工作: '$ this-> db-> where('tasks_duedate BETWEEN''。$ today。'「and」'。date。'「');' – Lero

相關問題