首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP检查数据库中的启动日期前一周是否插入了一定数量的行

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

Stack Overflow用户
提问于 2014-11-19 13:51:19
回答 1查看 67关注 0票数 0

首先,我真的很抱歉,如果标题对你来说是模糊的(因为它是),但是我不知道如何把我的问题用一句话恰当地表达出来。

这里是我的问题:我的学校项目,我必须建立一个网站,你可以预订在博物馆的特别旅游。如果只有8个或更少的预订,其中一个旅游在举行前一周,它被取消了。我真的不知道如何做到这一点!我基本上只能在活动前一周检查一下是否有8个或更少的预订。在我的数据库中,我有两个表:旅游和tour_reservations。下面是表结构,以澄清我正在使用的数据库设置。

旅游

http://imgur.com/NxkyVaL,LushMBa

tours_reservations

http://imgur.com/NxkyVaL,LushMBa#1

因此,tour_id in tours_reservations是通过旅游链接到t_id的。我想要做的是,计算tours_reservations表中的一个tours (Tours_reservations)中的行数,并查看在tours表中的day字段之前一周插入了多少行。

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

控制器

代码语言:javascript
复制
public function check_sold_ticket() {
    $date = $this->tour_model->get_tour_date();

    $last_week = strtotime('-1 week');

    $result = $this->tour_model->get_reservations();

    if ($date > $last_week && count($result) < 8) {
        echo "do something";
    }
    else {
        echo "whoops";
    }


    $this->load->view('tour/check_sold_tickets');
}

模型

代码语言:javascript
复制
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();
}

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

我很抱歉问了这么大的问题,但任何帮助完成这一点将是非常感谢的。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-19 15:00:24

像这样的事情应该能起作用:

代码语言:javascript
复制
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_ids数组,以及它有多少预订的计数。

如果你愿意解释我能做的任何事。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27018529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档