【发布时间】:2018-07-31 21:48:16
【问题描述】:
我有一个带有 <select> 列表的 HTML 表单。这个列表有很多选项(超过 200 个),但为了简单起见,我们假设有四个。
<input type="text" name="country" placeholder=" your name">
<input type="email" name="email" placeholder=" 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 数据库。
这很好用。一张表在三列中收集所有用户数据——姓名、电子邮件和选项。
问题在于每个选项代表公司的不同部门,并且将所有选项放到同一个表中需要手动排序。
一名员工对表格进行分类,删除所有“滑板”条目并将它们发送给适当的团队。 “scooter”、“parkour”和“bmx”的剪切/粘贴过程相同。所以这张表是手动分成四部分的。
我的目标是去掉手动排序组件,自动化整个过程。
我想我们可以改为有四个不同的表,一个专用于每个选项。当接收到“skateboard”条目时,数据将被放入表 1,“scooter”进入表 2,等等。不再需要人工干预。
我可以设想一个笨重且臃肿的 PHP 脚本来处理这项工作,但我认为 MySQL 提供了一个更有效的解决方案。
不幸的是,我在 MySQL 方面的经验非常有限。在MySQL Reference Manual 中寻找“正确”的起点至今没有结果。我在寻找什么规则或程序?
【问题讨论】:
-
我不明白当存在 WHERE 语句时需要将相似的数据排序到不同的表中。
-
这些条目需要进入不同表的原因是什么?您可以使用
select name, e-mail from table where option = 'bmx'或其他方式轻松过滤主表(并为它们构建单独的 php 页面) -
当你有 20 个选项时会发生什么?或 200 个选项?你真的会有200张桌子吗?每个选项一个表没有意义。
-
另外,phpmyadmin 永远不应该是最终用户查看数据。 phpmyadmin 应该只为 projdeveloper/administrator 保留。
-
感谢大家的反馈。已经很有用了。
标签: php html mysql database forms