В форме добавления статьи должен выводиться список со множественным выбором, в который выводятся все названия тегов из соответствующей таблицы базы данных. Формы: добавление статьи, добавление тега. 13. Портфолио с категориямиДля каждой работы храните в базе данных ее код, название файла с изображением, название работы, описание работы, сроки, в которые выполнялась работа, код категории. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления работ и категорий, просмотра списка всех категорий, просмотра списка всех работ в конкретной категории, просмотра одной работы.
При удалении записи о работе из базы данных заодно удаляйте с диска файл с изображением. Формы: добавление работы, добавление категории. 14. Система "Вопрос-ответ"Для каждого вопроса храните в базе данных его код, имя автора, текст вопроса, дату добавления. Для каждого ответа - его код, код вопроса и текст ответа. Обеспечьте возможность добавления вопроса в конкретную категорию, просмотра вопроса (с ответом, если есть ответ), удаления вопроса, ответа на вопрос (на один вопрос может быть несколько ответов), просмотра списка вопросов в конкретной категории, просмотра списка категорий, добавления и удаления категорий. Формы: добавление вопроса, добавление категории, ответ на вопрос. 15. Блог с категориямиДля каждой дневниковой записи храните в базе данных ее код, название записи, текст записи, автора записи, дату добавления записи, код категории. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления записей и категорий, просмотра блога как списка всех записей, просмотра списка записей в конкретной категории, просмотра одной записи. Формы: добавление записи в блог, добавление категории. 16. Статьи с категориямиДля каждой статьи храните в базе данных ее код, автора, текст, дату добавления и код раздела. Для каждого раздела - его код, название и текстовое описание. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Обеспечьте возможность добавления и удаления как страниц, так и разделов, просмотра статей по разделам, просмотра конкретной статьи и списка разделов. Формы: добавление статьи, добавление раздела. 17. Календарь событийДля каждого события храните в базе данных его код, описание, дату, код места проведения. Для каждого места проведения - его код, название и фотографию (можно хранить в базе данных только названия файлов с фотографиями, а сами файлы хранить в какой-нибудь папке на диске). Обеспечьте возможность создания события, создания описания места проведения, удаления события, удаления описания места проведения, просмотра списка мест проведения событий. При удалении описания места удаляйте с диска и соответствующий файл с изображением.
События должны просматриваться по одному либо в виде календаря. В случае, если на определенную дату есть события, дата в ячейке календаря должна выводиться в виде гиперссылки, при нажатии на которую загружается страница со списком всех событий, которые относятся к этой дате. Формы: добавление события, добавление места проведения. 18. Почтовая рассылкаДля каждого сообщения рассылки храните в базе данных его код, название, текст, дату добавления. Для каждого подписчика - его код, e-mail и имя. Обеспечьте возможность добавления сообщения, регистрации подписчика, удаления подписчика, просмотра списка всех сообщений и списка всех подписчиков.
При добавлении сообщения рассылки оно автоматически должно отсылаться на e-mail всем подписчикам. Формы: добавление сообщения рассылки, регистрация подписчика. 19. Регистрация пользователейДля каждого пользователя храните в базе данных его код, имя, e-mail, пароль, дату регистрации и фотографию. Храните в базе данных только название файла с фотографией, а сами файлы помещайте в какую-нибудь папку на диске. При удалении учетной записи пользователя из базы данных заодно удаляйте с диска файл с его фотографией.
Обеспечьте пользователю возможность заносить других пользователей в список друзей. Для этого создайте вторую таблицу в базе данных, со следующими полями: код записи id, код первого пользователя id1, код второго пользователя id2, подтвержденность связи isChecked. При отображении профиля пользователя должна выводиться кнопка " Добавить в друзья". При нажатии на эту кнопку во второй таблице создается запись, в которую заносятся коды обоих пользователей и 0 для признака подтвержденности связи. Обеспечьте пользователю возможность просмотра списка предложений дружбы и принятия или отклонения каждого из них. Выбрать предложения дружбы для пользователя с кодом 35 можно путем следующего SQL-запроса:
SELECT id1 FROM table2 WHERE id2=35 AND isChecked=0; Не забудьте сделать страницы для регистрации пользователей и для просмотра профиля пользователя и списка его друзей. Формы: регистрация, вход на сайт под логином и паролем. 20. Статьи с возможностью голосованияДля каждой статьи храните в базе данных ее код, автора, текст, дату добавления. Для каждого голосования - его код, код статьи и рейтинг - численную оценку статьи от 1 до 5. Физически страницу на диске для статьи можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Обеспечьте возможность добавления и удаления статей, просмотра списка статей (отсортированных по рейтингу/по дате добавления), просмотра одной из статей и голосования за каждую из них. Формы: добавление статьи, голосование (выпадающий список с числами от 1 до 5 и кнопка " Оценить"). 21. Фотогалерея с возможностью голосованияДля фотографии храните в базе данных его код, название соответствующего файла, название фотографии, описание фотографии, место съемки, размер файла. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждого голосования храните в базе данных его код, код фотографии и рейтинг - численную оценку фотографии от 1 до 5. Обеспечьте возможность добавления и удаления фотографий, просмотра списка всех фотографий (отсортированных по рейтингу/по дате добавления), просмотра одной фотографии, голосования за каждую из них. При удалении записи о фотографии из базы данных заодно удаляйте с диска файл с фотографией. Формы: добавление фотографии, голосование (выпадающий список с числами от 1 до 5 и кнопка " Оценить"). 22. Архив документов MS OfficeДля каждого документа MS Office (*.doc, *.docx, *.ppt, *.pptx и т.д.) храните в базе данных его код, название файла, размер файла, код категории. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра определенного файла со ссылкой для его скачивания, просмотра списка категорий и списка файлов в определенной категории. Должна быть также возможность добавлять файлы и удалять их, а также добавлять и удалять категории. Для каждой категории храните в базе данных ее код и название. При удалении записи о файле из базы данных заодно удаляйте с диска сам файл. Формы: добавление файла, добавление категории. 23. Архив mp3 с возможностью голосованияДля аудиофайла храните в базе данных его код, название файла, название песни, имя исполнителя, длительность звучания песни, размер файла. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка песен (отсортированных по рейтингу/по дате добавления), просмотра определенной песни (то есть должна быть страница, на которой выводятся все данные об аудиофайле и можно прослушать песню). Должна быть также возможность добавлять песни и удалять их, а также голосовать за них. Для каждого голосования храните в базе данных его код, код файла и рейтинг - численную оценку файла от 1 до 5. При удалении записи об аудиофайле из базы данных заодно удаляйте с диска сам файл. Формы: добавление песни, голосование (выпадающий список с числами от 1 до 5 и кнопка " Оценить"). 24. Видеогалерея с возможностью голосованияДля видеофайла храните в базе данных его код, название файла, название видеоролика, описание видеоролика, длительность видеоролика, размер файла. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка видеофайлов (отсортированных по рейтингу/по дате добавления), просмотра определенного файла (то есть должна быть страница, на которой выводятся все данные о видеофайле и можно посмотреть это видео) с возможностью проголосовать за него. Должна быть также возможность добавлять файлы и удалять их. Для каждого голосования храните в базе данных его код, код файла и рейтинг - численную оценку файла от 1 до 5.