На данный момент я создаю систему блога с php. Администратор может создавать x сообщений, и в каждом столбце должна быть функция комментария. Как я могу реализовать что-то подобное? Я не знаю структуру базы данных, потому что это должно быть много таблиц (для каждого сообщения (?)). Возможно, у кого-то из вас есть хорошая ссылка. Я уже обыскал, но ничего не нашел для своей проблемы.Структура PHP базы данных комментариев
ответ
Вам не нужно много таблиц. Вы могли бы иметь таблицу для сообщений, как это:
id INT(10)
title TEXT
content TEXT
И таблица для комментариев, как это:
id INT(10)
postId INT(10) // this links to the column post.id
content TEXT
Конечно, вы можете добавить дополнительные столбцы для обеих таблиц, если это необходимо, пример для добавления временных меток и т. д.
Теперь, когда у вас есть сообщение с идентификатором 7, вы убедитесь, что все комментарии к этому сообщению получают postId 7. Таким образом, при отображении сообщения 7 на вашем веб-сайте вы можете найдите все строки в таблице комментариев с postId = 7 и покажите точно те комментарии, которые повторно связан с этой записью.
Я упростил этот пример. Для оптимизации таблиц вы можете добавить индексы, первичные ключи и т. Д.
@Skeptar, существует множество способов, которыми вы можете это достичь. Позвольте мне предложить его вам.
Users table: (very obvious)
Columns: user_id (INTEGER(n) PRIMARY KEY), username (VARCHAR(n)), password (VARCHAR(32) for md5), level (INTEGER Example: 1 for admin, 3 for regular user)
Posts:
Columns: post_id (INTEGER(n) PRIMARY KEY), post_title (VARCHAR(n)), post (TEXT), user_id (INTEGER(n))
Comments:
Columns: comment_id (INTEGER(n)), comment(TEXT), post_id,(INTEGER FOREIGN KEY REFERENCES post(post_ID)) user_id(INTEGER(n) FOREIGN KEY REFERENCES users(user_id))
Теперь, я считаю, что у вас есть средство, позволяющее зарегистрировать в вашей системе оба уровня (администратора и обычных) пользователей.
При вставке вы берете заголовок сообщения и фактическое сообщение и с помощью некоторого механизма идентификации пользователя, такого как SESSIONS
, вы получаете user_id и вставляете их в стол сообщения.
Затем для каждого комментария при вставке вы получаете post_id сообщения, по которому пользователь комментирует, и вставляют его в таблицу комментариев вместе с комментарием и user_id.
Если вы хотите получить все сообщения, это довольно просто.
Если вы хотите получать все комментарии для конкретного поста, вы берете на себя post_id этой должности в таблице комментариев, как, например:
SELECT * FROM comments C, posts P WHERE C.post_id = C.post_id;
Поскольку вы вставили user_id против каждого поста и комментариев, так же, вы можете получить соответствующую информацию о пользователе для каждого комментария, как например:
SELECT U.username FROM comments C, users U Where C.user_id = U.user_id
Помните, что это только, чтобы дать вам и идея, и не должны быть приняты в качестве полного рабочего раствора. Я написал это с головы и мог иметь некоторые ошибки. Кроме того, где я указал в скобке n (INTEGER (n)), это означает, что вам нужно заменить n на нужный размер столбцов. Надеюсь, поможет.
Ничего себе, этот ответ тоже потрясающий! :) Спасибо чувак ! :) – Skeptar
Я рад, что смогу помочь. –
- 1. Структура системы комментариев
- 2. Лучшая практика для комментариев структура базы данных голосования
- 3. Yii Структура базы данных
- 4. Структура базы данных для системы комментариев в визуальной студии
- 5. базы данных Нормализация и структура
- 6. Загрузка комментариев из базы данных
- 7. Структура базы данных пользовательских данных
- 8. TV Guide PHP-скрипт/Структура базы данных
- 9. php form и структура базы данных
- 10. Структура таблицы комментариев и ответов PHP/MYSQL
- 11. Довольно структура базы данных
- 12. Структура базы данных
- 13. Структура базы данных MySQL
- 14. Эффективная структура базы данных
- 15. Лучшая структура базы данных
- 16. Оптимальная структура базы данных
- 17. Структура разрешений базы данных
- 18. Динамическая структура базы данных
- 19. Структура базы данных
- 20. Структура дизайна базы данных
- 21. Структура базы данных Ошибка
- 22. Структура базы данных диаграммы
- 23. Структура базы данных SQL
- 24. Структура структуры базы данных
- 25. Структура базы данных Firebase
- 26. структура базы данных
- 27. magento структура базы данных?
- 28. Структура базы данных Rails
- 29. структура базы данных
- 30. Структура базы данных клиентов
ahh, поэтому я создаю один стол для всех комментариев? – Skeptar
@Skeptar точно, с одним столбцом, в котором говорится, кому принадлежит комментарий. – Keelan
Спасибо, человек, ты мне очень помог! :)! Я долго думал, как я могу понять, что ^^ Мой последний вопрос: профессиональный сайт, поступить так же? – Skeptar