获取在两个日期之间发布的数据
Posted
技术标签:
【中文标题】获取在两个日期之间发布的数据【英文标题】:Getting data posted in between two dates 【发布时间】:2011-06-20 00:38:35 【问题描述】:如何使用 CodeIgniter 的 activerecord 查询两个日期之间的记录来从数据库中检索数据?
【问题讨论】:
请进一步解释,如果您尝试过任何方法,请发布代码。 我不知道你在说什么 您是否要在两个日期之间从数据库中提取数据? 是的,我正在尝试使用 codeigniter 查询在两个日期之间从我的数据库中提取数据 【参考方案1】:这看起来像你需要的:
$this->db->where('order_date >=', $first_date);
$this->db->where('order_date <=', $second_date);
return $this->db->get('orders');
【讨论】:
@ThorpeObazee 如果我有两个号码并且想要输入的号码介于两者之间怎么办?【参考方案2】:试试这个:
$this->db->where('sell_date BETWEEN "'. date('Y-m-d', strtotime($start_date)). '" and "'. date('Y-m-d', strtotime($end_date)).'"');
希望这会奏效
【讨论】:
【参考方案3】:这对我很有效
$this->db->where('sell_date BETWEEN "'. date('Y-m-d', strtotime($start_date)). '" and "'. date('Y-m-d', strtotime($end_date)).'"');
【讨论】:
【参考方案4】:这对我有用:
$this->db->where('RecordDate >=', '2018-08-17 00:00:00');
$this->db->where('RecordDate <=', '2018-10-04 05:32:56');
【讨论】:
【参考方案5】:如果您提交的日期是数据库中的时间戳,那么这是获取记录的简单方法
$this->db->where('DATE(RecordDate) >=', date('Y-m-d',strtotime($startDate)));
$this->db->where('DATE(RecordDate) <=', date('Y-m-d',strtotime($endDate)));
【讨论】:
【参考方案6】:如果你想比较 SQL 日期,你可以试试这个:
$this->db->select();
$this->db->from('table_name');
$this->db->where(' date_columnname >= date("'.$from.'")');
$this->db->where( 'date_columnname <= date("'.$to.'")');
【讨论】:
【参考方案7】:只需在 where 条件下写 BETWEEN '$startDate' AND '$endDate'
作为
->where("date BETWEEN '$startDate' AND '$endDate'")
【讨论】:
【参考方案8】:希望对您有所帮助.... 三表连接
public function get_details_beetween_dates()
$from = $this->input->post('fromdate');
$to = $this->input->post('todate');
$this->db->select('users.first_name, users.last_name, users.email, groups.name as designation, dailyinfo.amount as Total_Fine, dailyinfo.date as Date_of_Fine, dailyinfo.desc as Description')
->from('users')
->where('dailyinfo.date >= ',$from)
->where('dailyinfo.date <= ',$to)
->join('users_groups','users.id = users_groups.user_id')
->join('dailyinfo','users.id = dailyinfo.userid')
->join('groups','groups.id = users_groups.group_id');
/*
$this->db->select('date, amount, desc')
->from('dailyinfo')
->where('dailyinfo.date >= ',$from)
->where('dailyinfo.date <= ',$to);
*/
$q = $this->db->get();
$array['userDetails'] = $q->result();
return $array;
【讨论】:
【参考方案9】:$query = $this->db
->get_where('orders',array('order_date <='=>$first_date,'order_date >='=>$second_date))
->result_array();
【讨论】:
我觉得<=
和 >=
可能是错误的方式,但我不知道它们实际持有什么值。【参考方案10】:
如果你想在 Codeigniter 查询助手上强制使用 BETWEEN 关键字。您可以使用 where 而无需像此代码一样转义 false 。在 CI 版本 3.1.5 上运行良好。希望对某人有所帮助。
if(!empty($tglmin) && !empty($tglmax))
$this->db->group_start();
$this->db->where('DATE(create_date) BETWEEN "'.$tglmin.'" AND "'.$tglmax.'"', '',false);
$this->db->group_end();
【讨论】:
以上是关于获取在两个日期之间发布的数据的主要内容,如果未能解决你的问题,请参考以下文章