Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将从单个表单获取的用户数据保存到一个MySQL数据库中的各个表中?_Php_Mysql - Fatal编程技术网

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

Php 如何将从单个表单获取的用户数据保存到一个MySQL数据库中的各个表中?,php,mysql,Php,Mysql,通过MySQL和PHP实现以下概念的正确方法是什么?假设一个网站有两个组/社区,这两个组/社区都允许其用户就各自的社区提问、回答问题和开始讨论。用户将通过下面的代码(main.php)选择希望进入的社区: 上述表格将在两个社区中提供,即groupA.php和groupB.php。因此,当然,savedisc.php会将表单内容保存到数据库中。意思是,discussion.php和savedisc.php将有助于保存groupA.php和groupB.php的内容。下面是一些savedisc.ph

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

上述表格将在两个社区中提供,即
groupA.php
groupB.php
。因此,当然,
savedisc.php
会将表单内容保存到数据库中。意思是,
discussion.php
savedisc.php
将有助于保存
groupA.php
groupB.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的内容保存在同一数据库中各自的表中,但保存在各自的组的表中。我走对了吗


谢谢。

您需要花一些时间研究关系数据库;然而,这里有一个快速的高层回答

您希望有几个表:用户、组、组、问题、答案

用户(id、用户名、组*)——只是一个想法,不一定需要 组(id、名称) groupmems(id、groupid、userid) 问题(id、标题、消息、用户id、组id、日期) 答案(id、问题id、标题、消息、用户id、日期)

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

这非常简单
只有一个表具有
字段。
因此,您必须只有一个集合—一个表单、一个脚本、一个表。只需使用查询字符串和隐藏输入字段传递组标识符即可

@-Col.shrapanel-我会尝试的。即使用户被要求登录网站,这个概念也会起作用吗?@newbie没有任何干扰。为什么?想让用户登录-就这样做。怎么了?添加用户表和其他人回答的所有这些表。实际上,它不是“概念”,而是一个非常基本的数据库规则,称为“规范化”。拥有两个相似的表,唯一的区别是名称不同,这是数据库世界中最致命的罪过之一。当你看到这样一张桌子时,你总是知道你走错了方向。就这样。
<form action='savedisc.php' method='post'>
$sql="INSERT INTO GroupA (Message, Title, Type)
VALUES
('$message','$title','$represents')";