需要从日期
这里我插在表中的值是像如下仅提取年份和月份,需要从日期
`2017-01-01`,
`2017-01-02`,
`2017-01-03`,
`2017-01-04`,
`2017-01-05`,
`2017-01-06`.
我需要从仅提取年份和月份, 的,我用我的这样
public function present_report_by_empid($user_id = null,$date = null)
{
$query='tbl_attendance.date_in';
$this->db->where('tbl_attendance.attendance_status', 1);
$this->db->where('tbl_attendance.user_id', $user_id);
$this->db->where(date('Y-m',strtotime($query)), $date);
return $this->db->count_all_results('tbl_attendance');
}
我的$ date值码2017-01
,当我给这样我得到错误这样 SELECT COUNT(*) AS
numRows行FROM
tbl_attendance WHERE
tbl_attendance .
个attendance_status = 1 AND
tbl_attendance .
USER_ID = '1' AND
1970年至1901年= '2017-01'
我相信你行
有错误$this->db->where(date('Y-m',strtotime($query)), $date);
检查值与价值,
现在替换随你的函数,
public function present_report_by_empid($user_id = null,$date = null)
{
$temp = explode("-",$date);
$query='tbl_attendance.date_in';
$this->db->where('tbl_attendance.attendance_status', 1);
$this->db->where('tbl_attendance.user_id', $user_id);
$this->db->where("YEAR(tbl_attendance.date_in)",$temp[0]);
$this->db->where("MONTH(tbl_attendance.date_in)",$temp[1]);
return $this->db->count_all_results('tbl_attendance');
}
试试看吧,它会工作。
非常感谢兄弟 –
不客气兄弟;) ! – rahulsm
首先,你需要的日期解析为YM格式,那么你可以使用此列条件
public function present_report_by_empid($user_id = null,$date = null)
{
$query='tbl_attendance.date_in';
$this->db->select('tbl_attendance.*,DATE_FORMAT(tbl_attendance.date_in,"%Y-%m") as date_parse');
$this->db->where('tbl_attendance.attendance_status', 1);
$this->db->where('tbl_attendance.user_id', $user_id);
$this->db->where('date_parse',date('Y-m',strtotime($date)));
return $this->db->count_all_results('tbl_attendance');
}
如果在运行这段代码时出现任何错误,请告诉我。我将修复它 –
列名是date_in而不是date_parse,因为日期格式是表字段的Ymd – rahulsm
是我知道那个日期列** tbl_attendance.date_in **我在做什么我将数据库日期* Ymd *格式化为* Ym *并存储在虚拟列* date_parse *中,然后设置该列上的条件 –
请发布您收到的错误 –
什么是您的表中的日期列名称? – rahulsm
看到我已经发布了它.. –