请尝试使用单选按钮从数据库中获取任务,但我没有获得正确的记录,我使用Codeigniter
这是我的代码:
switch(strtolower($this->input->post('tasksfilter'))){
case "overdue":
$query = array("task_accomplish_date <=" => time());
break;
case "today":
$query = array("task_accomplish_date <=" => strtotime("today midnight"));
break;
case "tomorrow":
$query = array("task_accomplish_date <=" => strtotime("tomorrow midnight"));
break;
}
$this->data['result'] = $this->crud->read_where("tasks", $query)->result();
这也是我的read_where
功能:
public function read_where($table, $cond, $limit = null, $offset = null){
return $this->db->get_where($table, $cond, $limit, $offset);
}
NB * task_accomplish_date
是varchar
字段,包含timestamp
个值
感谢您的帮助
答案 0 :(得分:0)
问题在于您总是在寻找小于或等于特定日期的日期。因为“今天”总是小于“明天”,你自然也会在答案中得到“今天”。
如果task_accomplish_date
列中的值始终是相关日期的午夜,则可以使用相等运算符。如果使用除午夜以外的某些“时间”,那么我将不得不修改答案。以下假定值始终是午夜。
这个答案还假设你只想要“明天”而不是任何日子,即后天。
$findDay = strtotime("today");
switch (strtolower($this->input->post('tasksfilter')))
{
case "overdue":
$findDay -= 86400; //subtract one days worth of seconds
break;
case "tomorrow":
$findDay += 86400; //add a day to "today"
break;
}
$query = array("task_accomplish_date == " => $findDay);
$this->data['result'] = $this->crud->read_where("tasks", $query)->result();