во-первых: мне очень жаль, если заголовок для вас расплывчатый (потому что так и есть), но я понятия не имею, как правильно сформулировать свой вопрос в одном предложении...
Вот мой вопрос: для моего школьного проекта мне нужно создать веб-сайт, где вы можете зарезервировать специальные туры в музее. Если на одну из этих экскурсий за неделю до ее начала было забронировано не более 8 бронирований, она аннулируется. Я серьезно понятия не имею, как это сделать! Я в основном застрял на проверке, есть ли 8 или менее бронирований за неделю до мероприятия. В моей базе данных для этого есть две таблицы: tours и tour_reservations. Вот структура таблицы, чтобы прояснить настройку базы данных, с которой я работаю.
туры
http://imgur.com/NxkyVaL,LushMBa
туры_бронирования
http://imgur.com/NxkyVaL,LushMBa#1
Итак, tour_id в tours_reservations связан с t_id из tours. Что я хочу сделать, так это подсчитать строки из одного тура (tour_id) в таблице tours_reservations и посмотреть, сколько строк было вставлено за неделю до поля дня в таблице tours.
Я использую фреймворк MVC CodeIgniter. Вот кусок кода, с которым я играл:
Контроллер
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');
}
Модель
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();
}
Код, очевидно, неверен, но это то, что я смог придумать до сих пор.
Извините, что задаю такой большой вопрос, но любая помощь в этом будет БОЛЬШОЙ признательна.
Заранее спасибо.