php - MySQL简单论坛

标签 php sql mysql forum

所以我正在尝试建立一个简单的论坛。它将是按主题(如果没有回复)或最新回复的日期降序排列的主题列表。这是数据库结构:

论坛主题

id, name, email, body, date

论坛回复

id, email, body, date, topic_id

论坛本身将包含一个带有以下标题的 HTML 表格:

Topic, Last Modified, # Replies

产生这样一个结构的一个或多个查询是什么样的?我以为这会涉及交叉连接,但不确定...提前致谢。

最佳答案

有点像这样:

select * from forum_topic
inner join forum_reply on forum_topic.id=topc_id

但是,不要使用select *

这是不好的做法:)

而且我不喜欢你避免规范化的方式!意思是我宁愿:

用户

  • 用户名
  • 姓名
  • 电子邮件

线程

  • 线程ID
  • 主题
  • 已回答
  • AskedByUserID
  • 日期

回复

  • 回复ID
  • 线程ID
  • 用户名
  • 回答
  • 日期

然后像这样选择一个线程:

select ThreadID, Subject, Answered, AksedByUserID, Date from Threads

然后像这样选择所有回复

select Answer, Date, Name, Email from Threads
inner join Replies on Threads,ThreaID=Replies.ThreadID
inner join Users on AskedByUserID=UserID 
where Threads.ThreadID=xxx

现在这只是我的脑海里写的,但你可能还需要添加一些分组依据。

关于php - MySQL简单论坛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/409321/

相关文章:

php - 使用php进行Linux终端用户认证

php - 如何在 Wordpress 中创建图像滚动导航按钮

php - SQL 查询在 PHP 中返回 null,但在 MySQL 中返回正确结果

mysql - 计算具有特定 ID 的 MySQL 中的值

mysql - 使用mysql更新账户余额

php - 对于 CASE WHEN,此 MySQL 语法有何无效之处?

php - URL 的 Jquery/Javascript 检索不起作用

java - 基于 jcomboBox 从数据库中删除数据会引发错误

MySQL 5.6 程序通过 Workbench 的验证器但无法工作,错误代码 : 1064

php - PDO 弄乱了我的 CSS/HTML 布局