【发布时间】:2022-01-18 11:57:33
【问题描述】:
我已经苦苦挣扎了几个星期。最近我在这里发了一个问题CodeIgniter Datatables Server Side Date Range using Datepicker,但没有运气。
然后我决定通过测试 Codeigniter 模型来隔离问题,似乎那里存在问题。
下面是代码和图片。
Codeigniter 模型
function get_allbillinglistByDate($startdate,$enddate){
$data = array();
$sdate = "09/01/2020";
$edate = "11/01/2020";
$this->db->from('invoices');
$multipleWhere = ['invoices.Approved' => 1,'invoices.xero' => 0];
$this->db->where($multipleWhere);
//$this->db->where('Invoice_Date BETWEEN "'. date('m-d-Y', strtotime($sdate)). '" and "'. date('m-d-Y', strtotime($edate)).'"');
$this->db->where('Invoice_Date >=', date('m-d-Y', strtotime($sdate)));
$this->db->where('Invoice_Date <=', date('m-d-Y', strtotime($edate)));
$Q = $this->db->get();
if ($Q->num_rows() > 0){
foreach ($Q->result_array() as $row){
$data[] = $row;
}
}
$Q->free_result();
return $data;
}
这是截图 Date Column where only 2020 record should show but it shows 2021 too
不知道哪里出了问题,日期列应该只显示 2020 年的记录,但它也显示 2021 年
请指教。
【问题讨论】:
-
它的数据库日期将存储为
Y-m-d格式,你必须使用date('Y-m-d', strtotime($sdate))
标签: php mysql codeigniter datatable datatables