在多个MySQL数据库表之间分配HTML表单数据

时间:2018-07-31 21:48:16

标签: php html mysql database forms

我有一个带有<select>列表的HTML表单。该列表有很多选项(超过200个),但为简单起见,有四个选项。

<input type="text" name="country" placeholder="&nbsp;your name">

<input type="email" name="email" placeholder="&nbsp;your e-mail">

<select>
  <option value="skateboard">skateboard</option>
  <option value="scooter">scooter</option>
  <option value="parkour">parkour</option>
  <option value="bmx">bmx</option>
</select>

当前使用PHP处理用户数据,并将其放入通过phpMyAdmin访问的MySQL数据库中。

这很好。一张表将所有用户数据收集到三列中-名称,电子邮件和选项。

问题在于,每个选项代表公司的不同部门,并​​且将所有选项放入同一表中需要手动排序。

员工对表进行排序,切出所有“滑板”条目并将其发送给适当的团队。 “踏板车”,“跑酷”和“ bmx”的剪切/粘贴过程相同。因此,该表被手动分为四个部分。

我的目标是删除手动排序组件,并使整个过程自动化。

我想我们可以改为有四个不同的表,每个表专用于一个。当收到“滑板”条目时,数据将放入表1,“滑板车”将进入表2,依此类推。不再需要人工干预。

我可以设想一个笨拙且PHP肿的PHP脚本来处理这项工作,但我认为MySQL提供了一种更有效的解决方案。

不幸的是,我在MySQL方面的经验非常有限。到目前为止,在MySQL Reference Manual中寻找“正确的”起点是徒劳的。我在寻找什么规则或程序?

2 个答案:

答案 0 :(得分:2)

您可以使用phpMyAdmin搜索功能将结果限制为所需内容,并在需要时将其导出为CSV。但是,我认为问题是您正在使用phpMyAdmin查看数据。 phpMyAdmin实际上是一个数据库管理工具。最好是查看数据,如果不好则显示危险。 (以轻松删除您本不应该删除的内容)

理想情况下,您想要的是一个php脚本,该脚本可在数据库中定位条目并根据特定条件将它们列出在html表中,然后您可以允许想要浏览的部门仅查看其应有的数据。

答案 1 :(得分:1)

嗯,在这种情况下,我将创建两个逻辑表,即MySQL DBMS内的三个关系表。

从逻辑上讲:User和Option这两个实体之间存在一个:m关系(因为如果我正确理解的话,一个用户可以拥有多个选项,当然一个选项可以专用于多个用户)。

从关系上讲:由于存在一个n:m关系,因此您需要将其拆分到第三表之间,其中外键和主键分别是选项和用户的键。

最后,您可以拥有三个表(示例):

选项:

  • PK:option_id
  • M:姓名
  • M:日期

用户:

  • PK:user_id
  • 名称

Options_Users:

  • PK和FK:options_id
  • PK和FK:users_id

PK:主键 M:必选 FK:外键

然后,您可以使用WHERE和JOIN命令通过PHP获得所需的所有数据(查找示例)。 phpMyAdmin仅用于检查数据和潜在地手动创建表。所有真正的管理操作都可以并且应该通过脚本(在本例中为PHP)进行处理。