2012-05-16 2 views
1

При обучении мне php и mySQL год или два назад, я создал базу данных фильмов для театров, в которых я работаю, чтобы помочь автоматизировать более мирские обновления в Интернете, которые нужно делать еженедельно. Пока это касается только информации о фильме (название, рейтинги, резюме, дата начала), но не включает в себя показы, но в последнее время я подумал, что было бы интересно посмотреть, можно ли построить этот аспект сайта.Отправка дат между диапазоном дат - mySQL

Моя первоначальная идея состояла в том, чтобы создать таблицу, в которой отображались сеансы отображения через группы дат (например, 5/15 - 5/20), но было высказано предположение, что отправка времени для отдельных дней, вероятно, будет более полезной с точки зрения пользователя (т.е. показы для 5/15 ...), тем более, что в течение недели происходят измены и отмены в связи со специальными событиями.

Проблема У меня даже началось это - это как отправить более одной даты одновременно. Было бы возможно, в форме иметь «стартовой дате» и «дата окончания» и иметь единственную форму, представляющую все введенные данные на эти две даты и все даты между ними?

С фоновой перспективы, представляющей те же 4 или 5 сеансов каждый день, 7 дней в неделю на 10-14 фильмов в неделю, больше работает для США, чем просто поместить время вручную в Dreamweaver - так что я просто пытаясь понять, как облегчить нам процесс за кулисами. Если бы мы могли бы вставлять набор сеансов, мы могли бы вернуться и отредактировать отдельные дни, у которых есть особые/отмененные времена (что, вероятно, означало бы создание в «черновике, живой, скрытой» системе, - но у меня есть . хотя бы базовые знания о том, как идти о том, что

у меня есть очень простой набор таблиц для сеансов с (конечный пользователь, пример того, что я стремлюсь к here):

  • MOVIE_ID (ссылки на базу данных информации о фильме, чтобы получить информацию о фильме - название, время исполнения и т. Д.)
  • sched_date (использует дату и время, чтобы установить конкретное время шоу в определенную дату)

Возможно, мне придется отказаться от использования datetime, если есть какой-либо способ сделать это?

Любая помощь будет горячей! Большое спасибо!

+0

Просьба предоставить образцы данных и желаемый результат. – RedFilter

+0

Я обновил сообщение с помощью основного стола для сеансов, который у меня есть. Мой желаемый результат с точки зрения пользователя будет выглядеть примерно так: http://codysilfies.com/p9test/display.php (но без раздела «All Showtimes for Submitted Films») В идеале, если, скажем, я добавлял сеансы шоу для «Джона Картера», мне просто нужно было включить сеансы на следующей неделе (например, 2:00 4 : 00 6:00 8:00) и сможете отправлять их на все дни, начиная с 5/15 по 5/20. На стороне пользователя они выбирают дату, и в этот день будут показаны сеансы для всех фильмов (у меня этот бит в основном выяснен). –

ответ

1

У вас может быть 2 поля даты с именами from_date и end_date в вашей форме PHP. В форме вашего кода формы PHP вам необходимо использовать DateTime class и начать с from_date и использовать метод DateTime::add для прохода до end_date. Обратите внимание, что вам нужно сначала преобразовать 2 даты, то есть from_date и end_date в datetime, используя либо новую дату DateTime ('YYYY-MM-DD'), либо используя DateTime::createFromFormat.

В цикле просто отправьте команды вставки в MySQL, чтобы вставить строки в вашу БД.

+0

Awesome - Я не знаю, почему я никогда не думал об использовании цикла (действительно ... какой другой способ?). Поскольку я очень несовместим с циклами и методом DateTime :: add ... Мне может понадобиться немного больше помощи в определении синтаксиса. Итак, у меня есть start_date и end_date, но оттуда я немного потерялся. Правильно ли я понимаю, что DateTime будет по-прежнему считать дни между началом/концом и циклом много раз? Так .. 'для (start_date = датой_окончания!) { ... Добавить строку в таблицу DATE_ADD (датой_начала, date_interval_create_from_date_string ('1 дней'));}' ... я совсем близко? –

+0

Вы совершенно здоровы! Это способ решить эту проблему! Ура! – somnath

+0

Удивительный! Большое спасибо за вашу помощь! :) –

Смежные вопросы