2010-12-30 4 views
0

Я создаю проект телевизионной программы, и удалось получить три вещи, которые работают правильно:Создание телегид сценария в PHP ... идеи нужны

  • разбиении на страницы
  • Базы данных (но связывающие таблицы с помощью InnoDB тяжелая часть)
  • PHP
  • Datetime функция PHP

Создание сайта, тем труднее часть, как я знаю, что я хочу сделать, б ut, как решить эту проблему.

http://library.digiguide.tv/lib/programmenextshowing/Casualty-6313 - пример того, как я пытаюсь найти свой сайт - ОК, так что это сайт ASP, но мой находится на PHP.

Это структура, как эпизод будет показывать:

(для шоу с сезонами/номер эпизода)

True Blood showing on FX January 14th, 2011 - 10:00pm "Bad Blood" 
Series 3, episode 1. Set Reminder 
True Blood showing on FX HD January 14th, 2011 - 10:00pm "Bad Blood" 
Series 3, episode 1. Set Reminder 
True Blood showing on TG4 January 16th, 2011 - 12:25am Set Reminder 
True Blood showing on TG4 January 16th, 2011 - 1:30am Set Reminder 

для шоу без сезонов/номер эпизода:

Casualty showing on BBC Entertainment 4:00pm Set Reminder 
Casualty showing on BBC Entertainment 7:45pm Set Reminder 
Casualty showing on BBC Entertainment 11:20pm Set Reminder 
Casualty showing on Watch December 31st - 11:00am "Episode 1" Set Reminder 

Часть «Напоминание» - это то место, где пользователь будет нажимать на нее, и он отправит им электронное письмо, в котором говорится, что «X-шоу находится на Y-канале в Z-время». используя команду sendmail php.

Это моя структура базы данных:

CREATE TABLE IF NOT EXISTS `programme1airing` (
    `programme` varchar(255) collate utf8_unicode_ci NOT NULL, 
    `channel` varchar(255) collate utf8_unicode_ci NOT NULL, 
    `airdate` datetime NOT NULL, 
    `displayair` datetime NOT NULL, 
    `expiration` datetime NOT NULL, 
    `episode` varchar(255) collate utf8_unicode_ci NOT NULL, 
    `series` varchar(255) collate utf8_unicode_ci NOT NULL, 
    `epno` varchar(255) collate utf8_unicode_ci NOT NULL, 
    `setreminder` varchar(255) collate utf8_unicode_ci NOT NULL, 
    KEY `channel` (`channel`), 
    KEY `episode` (`episode`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 

и за эпизод таблицы programme1:

CREATE TABLE IF NOT EXISTS `episodes` (
    `epname` varchar(255) NOT NULL, 
    `series` varchar(255) NOT NULL, 
    `epno` varchar(255) NOT NULL, 
    KEY `epname` (`epname`), 
    KEY `series` (`series`), 
    KEY `epno` (`epno`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

и для каналов:

CREATE TABLE IF NOT EXISTS `channel` (
     `channel` varchar(255) character set utf8 collate utf8_unicode_ci 
NOT NULL default '', 
     KEY `channel` (`channel`) 
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 
    enter code here 

Тем не менее, это становится его проблема в работе - у меня есть хороший скрипт разбиения на страницы, который работает, но я должен интегрировать это с что-то вроде CodeIgniter и т.д.

Я пытаюсь выработать хороший способ, чтобы получить этот проект работы с CodeIgniter, как я узнал основные навыки, это просто найти приемлемое решение, что это проблема.

В настоящее время он находится на локальном хосте под доменом тестирования, поэтому на данный момент нет никаких проблем с живыми сайтами.

Любые советы приветствуются, спасибо.

+4

Переполнение стека предназначено для ответа на конкретные вопросы, и вы его не спрашивали. Можете ли вы обновить свой вопрос, чтобы включить именно то, что вы застряли? Все ваши исходные точки (функции разбиения на страницы/базы данных/функции datetime) чрезвычайно тривиальны в PHP. Я предлагаю вам найти [учебник] (http://stackoverflow.com/questions/772349/what-is-a-good-online-tutorial-for-php) или [хорошую книгу] (http: // stackoverflow. com/questions/90924/what-is-the-best-php-programming-book) начните читать. – meagar

+0

Отредактировано, и текст выделен жирным шрифтом. – whitstone86

ответ

0

Прежде всего, вам необходимо ознакомиться с концепцией MVC, используемой CI. Затем перейдите в разные стандартные классы, особенно database class. Вы можете выкинуть свой сценарий разбивки на страницы, начиная с CI has a thing for that.

Теперь вы прочитали важную документацию, начните думать о том, как вы разделили бы различные функции на разных контроллерах. Вы, вероятно, хотите иметь контроллер для каналов, сериалов и эпизодов.

Что касается функциональности напоминания, вы должны изучить cronjobs, это должно проверить, следует ли отправлять напоминания в указанное время.

К счастью, у CI есть отличная документация. Просто наденьте ноги, и когда вы столкнетесь с определенными проблемами, задайте конкретный вопрос. Удачи!

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