Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检查数据库中是否在启动日期前一周插入了一定数量的行_Php_Mysql_Codeigniter_Count_Strtotime - Fatal编程技术网

PHP检查数据库中是否在启动日期前一周插入了一定数量的行

PHP检查数据库中是否在启动日期前一周插入了一定数量的行,php,mysql,codeigniter,count,strtotime,Php,Mysql,Codeigniter,Count,Strtotime,首先:我真的很抱歉,如果标题对你来说是模糊的,因为它是,但我不知道如何正确地用一句话来表达我的问题 这是我的问题:对于我的学校项目,我必须建立一个网站,你可以在那里预订博物馆的特别旅游。如果在其中一次旅行开始前一周只预订了8张或更少的票,就取消了。我真的不知道如何做到这一点!我基本上一直在检查活动前一周是否有8个或更少的预订。在我的数据库中,我有两个表:tours和touru预订。下面的表结构说明了我正在使用的数据库设置 游览 图尔斯库酒店 因此,tours_Reserves中的tours_id

首先:我真的很抱歉,如果标题对你来说是模糊的,因为它是,但我不知道如何正确地用一句话来表达我的问题

这是我的问题:对于我的学校项目,我必须建立一个网站,你可以在那里预订博物馆的特别旅游。如果在其中一次旅行开始前一周只预订了8张或更少的票,就取消了。我真的不知道如何做到这一点!我基本上一直在检查活动前一周是否有8个或更少的预订。在我的数据库中,我有两个表:tours和touru预订。下面的表结构说明了我正在使用的数据库设置

游览

图尔斯库酒店

因此,tours_Reserves中的tours_id链接到tours的t_id。我想做的是,从tours\u reservations表中的一个tours\u id中计算行数,并查看在tours表中的day字段前一周插入了多少行

我正在使用MVC框架CodeIgniter。下面是我一直在玩的一段代码:

控制器

代码显然是不正确的,但这是我到目前为止所能想到的

我很抱歉问这么大的问题,但如果能帮我完成这一任务,我将不胜感激


提前谢谢。

像这样的东西应该可以做到:

public function get_tour_date($starting = 7)
{
    //You need to have PHP 5.3 for this
    $date = new DateTime("+ $starting days");
    $day = $date->format('Y-m-d');

    $query = $this->db->query("
                    SELECT t.t_id, count(r.reservation_id) as c 
                    FROM tours t 
                    JOIN tour_reservations r ON t.t_id=r.tour_id 
                    WHERE day = '$day' 
                    GROUP BY t.t_id");

    return $query->result();
}
我还没有测试过它,但本质上它应该返回从今天开始一周的一系列tour_ID,以及它的预订数量

如果你想解释一下,我可以做


希望这有帮助

您是否正在传递旅游id以检查旅游是否应该取消,或者只是为了获得今天开始一周的所有旅游?嗨,谢谢您的回答。我想检查所有从今天开始一周的旅行,如果有必要,取消旅行。下面的答案是你想要的吗?嘿,非常感谢你的答案。我现在不能测试它,因为我不在家,当我今晚在大约1,5小时后回到家时,我会尝试它。但是代码看起来确实很有希望!所以无论如何,谢谢你,我会让你知道这是否有效:嘿,我已经尝试了代码,但它似乎不起作用。在我的函数中,我做了$result=$this->tour\u model->get\u tour\u date;然后var转储了$result,但我得到了一个空数组。有什么想法吗?没关系,我自己犯了个错误。查询现在工作正常,谢谢:。希望我能在这里独自完成剩下的。。。
public function get_tour_date() {
    $query = $this->db->query("SELECT day FROM tours");

    return $query->result();
}

public function get_reservations() {
    $query = $this->db->query("SELECT reservation_id FROM tours_reservations");

    return $query->result();
}
public function get_tour_date($starting = 7)
{
    //You need to have PHP 5.3 for this
    $date = new DateTime("+ $starting days");
    $day = $date->format('Y-m-d');

    $query = $this->db->query("
                    SELECT t.t_id, count(r.reservation_id) as c 
                    FROM tours t 
                    JOIN tour_reservations r ON t.t_id=r.tour_id 
                    WHERE day = '$day' 
                    GROUP BY t.t_id");

    return $query->result();
}