Я посещаю пользователей за все месяцы. Теперь я просто хочу получить данные только за текущий месяц.Как получить данные за текущий месяц из разных дат данных?
Я искал в Интернете и выяснил
даты ('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
Итак, каким должен быть мой запрос, который извлекает только данные за текущий месяц.
Заменить '$ this-> db-> где ('date_data', дата ('F Y'));' вместе с '$ this-> db-> где ('MONTH (date_data)', date ('m')); ' –
Спасибо @Uchiha это работает – Rajan
Использование функций на данных в соответствии с условием фильтрации - ужасный подход в терминах SQL. Поэтому, когда этот вопрос задавался много раз раньше, это не обязательно лучший ответ, который был выбран. –