Шрифт:
Обратите внимание, что на странице для ответа на сообщение выводится поле для ответа как textarea, в которое можно ввести текст, а остальные поля записи выводятся как текст (не для редактирования). 6. ФорумДля каждого сообщения в базе данных храните его код, автора, текст, дату добавления и код темы. Для каждой темы - ее код и название. Обеспечьте возможность создания темы, ответа на тему, просмотра списка всех тем, просмотр темы (то есть всех ее сообщений), удаления темы, удаления сообщения. Ответить на тему - значит добавить в нее сообщение. Формы: добавление темы, добавление сообщения. 7. Новостная система с категориямиДля каждой новости храните в базе данных ее код, автора, текст, дату добавления и код категории. Для каждой категории - ее код и название. Обеспечьте возможность создания новости, создания категории, удаления новости, удаления категории, просмотра списка всех категорий, просмотра списка всех новостей в конкретной категории, просмотра конкретной новости. Формы: добавление новости, добавление категории. 8. Ротатор баннеровДля каждого баннера храните в базе данных его код, название файла с изображением, ссылка, на которую будет переходить пользователь по нажатию на баннер, количество кликов - нажатий на данный баннер, количество показов баннера, код категории. Сами файлы с изображениями хранятся в какой-либо папке. Для каждой категории храните ее код и название.
Обеспечьте возможность добавления и удаления баннеров, добавления и удаления категорий, просмотра списка категорий, списка баннеров в категории. При удалении баннера из базы данных заодно удаляйте с диска файл с изображением.
На главной странице должен отображаться всегда только один баннер, выбранный случайным образом. Для этого сначала выберите случайным образом категорию, а затем, также случайным образом, - баннер, относящийся к этой категории. Формы: добавление баннера, добавление категории. 9. Доска объявлений с категориямиДля каждого объявления храните в базе данных его код, автора, текст, дату добавления и код категории. Для каждой категории - ее код и название. Обеспечьте возможность добавления объявления, добавления категории, удаления объявления, удаления категории, просмотра списка всех категорий, просмотра списка всех объявлений в конкретной категории, просмотра конкретного объявления. Формы: добавление объявления, добавление категории. 10. Система управления контентомДля каждой страницы храните в базе данных ее код, автора, текст, дату добавления и код раздела. Для каждого раздела - его код, название и текстовое описание. Обеспечьте возможность создания страницы, создания раздела, удаления страницы, удаления раздела. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Ссылки на все страницы выводятся в левой части главной страницы как пункты меню сайта. При нажатии на какой-либо пункт меню справа отображается текст соответствующей страницы, а также имя автора, дата добавления и название раздела. При этом название раздела отображается как гиперссылка, при нажатии на которую загружается страница с описанием этого раздела.
Обеспечьте также возможность просмотра всех категорий и просмотра списка страниц в определенной категории. Формы: добавление страницы, добавление раздела. 11. Блог с облаком теговДля каждой дневниковой записи храните в базе данных ее код, название записи, текст записи, автора записи, дату добавления записи. Для каждого тега храните в базе данных его код и название. Создайте третью таблицу в базе данных, связывающую теги с записями блога (поля: код, код записи, код тега). Обеспечьте возможность добавления и удаления записей и тегов, просмотра блога как списка всех записей, просмотра одной записи, списка тегов. В форме добавления записи в блог должен выводиться список со множественным выбором, в который выводятся все названия тегов из соответствующей таблицы базы данных. Формы: добавление записи в блог, добавление тега. 12. Статьи с облаком теговДля каждой статьи храните в базе данных ее код, автора, текст, дату добавления. Для каждого тега храните в базе данных его код и название. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Создайте третью таблицу в базе данных, связывающую теги со статьями (поля: код, код статьи, код тега). Обеспечьте возможность добавления и удаления как статей, так и тегов, просмотра списка статей, просмотра конкретной статьи и просмотра списка тегов.
В форме добавления статьи должен выводиться список со множественным выбором, в который выводятся все названия тегов из соответствующей таблицы базы данных. Формы: добавление статьи, добавление тега. 13. Портфолио с категориямиДля каждой работы храните в базе данных ее код, название файла с изображением, название работы, описание работы, сроки, в которые выполнялась работа, код категории. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления работ и категорий, просмотра списка всех категорий, просмотра списка всех работ в конкретной категории, просмотра одной работы.
При удалении записи о работе из базы данных заодно удаляйте с диска файл с изображением. Формы: добавление работы, добавление категории. 14. Система "Вопрос-ответ"Для каждого вопроса храните в базе данных его код, имя автора, текст вопроса, дату добавления. Для каждого ответа - его код, код вопроса и текст ответа. Обеспечьте возможность добавления вопроса в конкретную категорию, просмотра вопроса (с ответом, если есть ответ), удаления вопроса, ответа на вопрос (на один вопрос может быть несколько ответов), просмотра списка вопросов в конкретной категории, просмотра списка категорий, добавления и удаления категорий. Формы: добавление вопроса, добавление категории, ответ на вопрос. 15. Блог с категориямиДля каждой дневниковой записи храните в базе данных ее код, название записи, текст записи, автора записи, дату добавления записи, код категории. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления записей и категорий, просмотра блога как списка всех записей, просмотра списка записей в конкретной категории, просмотра одной записи. Формы: добавление записи в блог, добавление категории. 16. Статьи с категориямиДля каждой статьи храните в базе данных ее код, автора, текст, дату добавления и код раздела. Для каждого раздела - его код, название и текстовое описание. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Обеспечьте возможность добавления и удаления как страниц, так и разделов, просмотра статей по разделам, просмотра конкретной статьи и списка разделов. Формы: добавление статьи, добавление раздела. 17. Календарь событийДля каждого события храните в базе данных его код, описание, дату, код места проведения. Для каждого места проведения - его код, название и фотографию (можно хранить в базе данных только названия файлов с фотографиями, а сами файлы хранить в какой-нибудь папке на диске). Обеспечьте возможность создания события, создания описания места проведения, удаления события, удаления описания места проведения, просмотра списка мест проведения событий. При удалении описания места удаляйте с диска и соответствующий файл с изображением.
События должны просматриваться по одному либо в виде календаря. В случае, если на определенную дату есть события, дата в ячейке календаря должна выводиться в виде гиперссылки, при нажатии на которую загружается страница со списком всех событий, которые относятся к этой дате. Формы: добавление события, добавление места проведения. 18. Почтовая рассылкаДля каждого сообщения рассылки храните в базе данных его код, название, текст, дату добавления. Для каждого подписчика - его код, e-mail и имя. Обеспечьте возможность добавления сообщения, регистрации подписчика, удаления подписчика, просмотра списка всех сообщений и списка всех подписчиков.
При добавлении сообщения рассылки оно автоматически должно отсылаться на e-mail всем подписчикам. Формы: добавление сообщения рассылки, регистрация подписчика. 19. Регистрация пользователейДля каждого пользователя храните в базе данных его код, имя, e-mail, пароль, дату регистрации и фотографию. Храните в базе данных только название файла с фотографией, а сами файлы помещайте в какую-нибудь папку на диске. При удалении учетной записи пользователя из базы данных заодно удаляйте с диска файл с его фотографией.
Обеспечьте пользователю возможность заносить других пользователей в список друзей. Для этого создайте вторую таблицу в базе данных, со следующими полями: код записи id, код первого пользователя id1, код второго пользователя id2, подтвержденность связи isChecked. При отображении профиля пользователя должна выводиться кнопка " Добавить в друзья". При нажатии на эту кнопку во второй таблице создается запись, в которую заносятся коды обоих пользователей и 0 для признака подтвержденности связи. Обеспечьте пользователю возможность просмотра списка предложений дружбы и принятия или отклонения каждого из них. Выбрать предложения дружбы для пользователя с кодом 35 можно путем следующего SQL-запроса: