【发布时间】:2016-01-04 06:45:16
【问题描述】:
我每个月都有用户出席。现在我只想获取当前月份的数据。
我上网查了一下发现
日期('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->where('date_data', date('F Y'));替换为$this->db->where('MONTH(date_data)', date('m')); -
感谢@Uchiha 它有效
-
对数据使用函数来适应过滤条件在 SQL 术语中是一种糟糕的方法。因此,尽管此类问题之前已被多次回答,但不一定是已选择的最佳答案。
-
@Uchiha 最后一个月怎么弄??
-
非常感谢@Uchiha 这周有什么事吗?
标签: php mysql codeigniter