gpt4 book ai didi

php - PHP CodeIgniter 中的持续时间重叠检查

转载 作者:行者123 更新时间:2023-11-29 11:40:40 25 4
gpt4 key购买 nike

假设我在数据库中有一条记录,其开始日期时间为:2016-03-10 00:00:00,结束日期时间为2016-03-10 06:00:00。现在,每次我在数据库中插入新记录时,我都想检查开始日期时间和结束日期时间的持续时间是否与数据库中存在的先前记录重叠。 PHP CodeIgniter 中是否有任何内置函数可以检查这一点?

现在我正在使用以下代码执行此操作,但它不起作用:

public function check_b_adds($data){
$sql='select * from listing_b_screen where (start_time >= ? AND end_time >= ?) OR (start_time <= ? AND end_time <= ?) OR (start_time <= ? AND end_time >= ?) OR (start_time = ? AND end_time = ?) OR (start_time >= ? AND end_time <= ?)';
$query=$this->db->query($sql, array($data['mystart_time'],$data['myend_time'],$data['mystart_time'],$data['myend_time'],$data['mystart_time'],$data['myend_time'],$data['mystart_time'],$data['myend_time'],$data['mystart_time'],$data['myend_time']));
$result = $query->result_array();
if ($result == NULL || $result == 0){
return false;
} else {
return True;
}
}

最佳答案

    $fromdaysDate="2016-07-13";//changed date
$todaysDate="2016-07-25";//changed date
$this->db->select('task_id,task_start_date, task_due_date');
$this->db->where('task_start_date <="'.date('Y-m-d', strtotime($fromdaysDate)).'"');
$this->db->where('task_due_date >="'.date('Y-m-d', strtotime($todaysDate)).'"');
$this->db->or_where('task_due_date BETWEEN "'. date('Y-m-d', strtotime($fromdaysDate)). '" and "'. date('Y-m-d', strtotime($todaysDate)).'"');
$alltask=$this->db->get('wba_task')->result_array();
echo $this->db->last_query();

关于php - PHP CodeIgniter 中的持续时间重叠检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35832848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com