gpt4 book ai didi

php - 如何将从单个表单中获取的用户数据保存到一个 MySQL 数据库中的多个表中?

转载 作者:行者123 更新时间:2023-11-29 07:12:53 25 4
gpt4 key购买 nike

通过 MySQL 和 PHP 实现以下概念的正确方法是什么?假设一个网站有两个组/社区,这两个组/社区都允许其用户提出问题、回答问题并开始讨论,这与各自的社区有关。用户将通过以下代码(main.php)选择他/她希望进入的社区:

<h2><a href="http://www.domain.com/groupA.php">Group A</a></h2>

<h2><a href="http://www.domain.com/groupB.php">Group B</a></h2>

用户点击 say Group B 后,他/她当然会被定向到 groupB.php,他/她将能够在其中查看数据与 B 组 社区相关(用户发布的问题、讨论等)。当然,Group A 社区也可以这样做。

现在我的问题是:如何在 MySQL 中高效地执行此操作?截至目前,如果用户想要在位于 groupB.phpGroup B 中创建讨论/问题,他将被定向到一个表单(discussion.php).下面的小代码:

<form action='savedisc.php' method='post'>

上述表格将在两个社区中可用,即 groupA.phpgroupB.php。因此,当然,savedisc.php 会将表单的内容保存到数据库中。意思是,discussion.phpsavedisc.php 将有助于保存 both groupA.phpgroupB .php 的内容。一些 savedisc.php 如下:

$sql="INSERT INTO GroupA (Message, Title, Type)
VALUES
('$message','$title','$represents')";

GroupA 是表格的名称。表名当然会根据用户可能在哪个组进行交互而改变。因此对于组 B,上面的代码看起来是一样的,但是 GroupA 将被替换为 GroupB。我如何在 savedisc.php 中执行此操作?我是否必须为不同的组使用大量的 IF 语句?

鉴于上述步骤,这甚至可能吗? discussion.php 可以位于所有社区页面上吗?因为那样的话,savedisc.php 的工作就是将组 A、B、C、D 的内容保存在同一数据库中各自的表中,但是是各自组的表中。我走在正确的轨道上吗?

谢谢。

最佳答案

您需要花一些时间研究关系数据库;但是,这是一个快速的高级答案。

你想要几个表:users, groups, groupmems, questions, answers。

users (id, username, group*) -- 只是一个想法,不一定需要组(ID,名称)groupmems (id, groupid, userid)问题(id、标题、消息、Userid、groupid、日期)答案(id、questionid、标题、消息、userid、日期)

您要做的是通过自动递增主键的存在使这些表相互关联。如果您选择让用户登录,那么您将需要用户和组表以获得更大的灵 active 。如果您选择不这样做,那么当用户想要发布新问题或答案时,您将使用 PHP POST 方法将组 ID 的值发送到表单,该表单将绑定(bind)到一个隐藏的文本字段。

关于php - 如何将从单个表单中获取的用户数据保存到一个 MySQL 数据库中的多个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3417627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com