如何从不同的数据日期获取当月的数据?

时间:2016-01-04 06:45:16

标签: php mysql codeigniter

我几个月都有用户出席。现在我只想获取当月的数据。

我在网上搜索了一下

  

日期(' F Y');

返回当前月份和年份。但我不知道如何使用它来获取当月数据

我的型号代码是:

public function monthly_login()
 {

      $this->db->select('*');

      $this->db->from('daily_data2');

      $this->db->where('date_data', date('F Y'));

      $this->db->where('entry >','100');

      $this->db->order_by("date_data","ASC");

      $this->db->join('users', 'users.emp_id = daily_data2.emp_id','inner');

      $query = $this->db->get();


       echo $this->db->last_query();
       $res   = $query->result();        

      return $res;

}

它返回此查询:

SELECT * FROM (`daily_data2`) INNER JOIN `users` ON `users`.`emp_id` = `daily_data2`.`emp_id` WHERE `date_data` = 'January 2016' AND `entry` > '100' ORDER BY `date_data` ASCarray(0) { }

现在在我的数据库中,我有一个名为data_data的字段,它有这样的日期:

  

2015-11-04 13:29:32

那么我的查询应该只获取当月的数据。

1 个答案:

答案 0 :(得分:3)

请将您的功能替换为以下代码:

public function monthly_login()
 {

      $this->db->select('*');
      $this->db->from('daily_data2');
      $this->db->where('MONTH(date_data)', date('m')); //For current month
      $this->db->where('YEAR(date_data)', date('Y')); // For current year
      $this->db->where('entry >','100');
      $this->db->order_by("date_data","ASC");
      $this->db->join('users', 'users.emp_id = daily_data2.emp_id','inner');
      $query = $this->db->get();


       echo $this->db->last_query();
       $res   = $query->result();        
      return $res;

    }