[英]How do I get results in my date filter?
我想使用表单字段FROMDATE
和TODATE
创建日期过滤器。
这将提供从开始日期到结束日期的范围的结果。
这是我的模型
function search($status,$from,$to){
if( $status =="" || $from =="" || $to =="") {
$this->db->select('a.*');
$this->db->from('acc a');
}
if( $status !="" || $from !="" || $to !="") {
$this->db->like('status', $status);
$this->db->where('fromdate <=',$from);
$this->db->where('todate >=',$to);
}
$result = $this->db->get();
//echo $this->db->last_query();
return $result->result();
}
我的问题是我看不到任何结果。 有没有人看到我的错误是什么?
如果声明表的短名称,则必须使用它。 你声明的acc
表的短名称作为a
。 所以你必须在like
where
使用它:
$this->db->like('a.status', $status);
$this->db->where('a.fromdate <=', $from);
$this->db->where('a.todate >=', $to);
也许您的问题是 DATE 的格式。 我假设您使用DATE
作为数据库中的行类型。 您的DATE
行可能使用YYYY-mm-dd
格式。 如果您的$from
或$to
变量不使用此格式,则此查询将不正确。
您可以通过将它打印到您的控制器(然后die();
)或您的日志文件来检查它。 您可以使用该命令从任何地方记录任何内容(如果您在application/config.php
启用它):
log_message("error", "this is the text of your log message from date: " . $from . ", and to date: " . $to);
日志文件位于application/logs
文件夹中。
最好使用 AND ( &&
) 运算符声明if statement
,因为在此函数中您必须声明所有变量。
我希望我能帮助你解决这个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.