PHP. Разработка модуля комментариев для сайта - страница 12

Шрифт
Интервал




Рис. 7 Содержание тестового сайта news.




Рис. 8. Содержание папки chat сайта news.

Комментарии без смайлов, как-то не интересно. Поэтому добавим праздника. Смайлов. Для этого в папке «say» создаем подпапку «smiles» в которую загружаем набор смайлов. В этом модуле загружен набор «Колобки» в формате GIF. Вы можете загрузить любые другие смайлы. Папка «smiles» будет проверяться на наличие изображений при первом запуске модуля и в случае если в ней будут обнаружены изображения, то они автоматически будут обработаны в качестве смайлов.

Рис. 9. Содержимое папки smiles.

На рисунке 7 представлена структура тестового сайта на данном этапе.




Рис. 10. Содержание тестового сайта news.


Таким образом, у нас получился рабочий тестовый сайт с размещенным на нем модулем комментариев с набором смайлов.

База данных

Теперь необходимо определиться для чего нам нужна база данных (далее БД), с ее системой управления и с тем, что в ней будет храниться. Я выбрал систему управления БД MySQl. Во-первых потому что ранее уже приходилось с ней работать, во-вторых, это самая распространенная на сегодня БД и на нее есть огромное количество справочной информации. Итак: MySQl – система управления реляционными, т.е. представленными в виде таблиц, базами данных (далее СУБД). Что в ней хранить?

В контексте задачи храниться будут:

Комментарии.

Ответы на комментарии.

Данные пользователей.

Данные о странице на которой размещаются комментарии.

Смайлы (без смайлов я комментарии не представляю).

При создании таблиц используем правило: каждый объект должен располагаться в отдельной таблице.

Объекты будут следующие: комментарии, ответы на комментарии, пользователи, права пользователей, смайлы. Еще одна таблица будет связывать права пользователя с данными в других таблицах.

Для хранения комментариев создаем таблицу «say». Таблица будет содержать следующую информацию о комментарии:

id – уникальный номер комментария;

saytext – текст комментария;

userid – идентификатор пользователя;

page_id – идентификатор страницы;

saydate – дата добавления комментария;

Для ответов на комментарии создаем таблицу «reply». Таблица будет содержать следующую информацию.

id – уникальный номер ответа на комментарий;

replytext – текст комментария;

userid – идентификатор пользователя;

replyid – идентификатор комментария;