2013-06-25 137 views
-3

请告知如何做到这一点的PHP MySQL表单和数据insert.Already搜索本网站,并找不到任何关于此问题。插入表单数据到mysql

我有一个收集学生信息的表单 - student_info(字段:id,name,sex,dob)。我可以将它插入到表中。现在我想创建另外两个这样的表 male_students(id,student_info_id,male_names) female_students(id,student_info_id,female_names)。 我对这两个单独表格的想法是因为我可以通过SELECT查询轻松显示男性和女性的列表。 要做到这一点,我想我可以做到这一点,但我不知道如何以及如果这是一个正确的做法。

  1. ,比如我有一个名为form_submit.php脚本 - 这有形式
  2. 填充和提交表单将数据插入student_info表。
  3. 当做第2步,我想检查是否($ sex ==男性)或(如果$ sec ==女性),分别插入male_students和female_students。

,但我坚持

  1. 我应该只写 form_submit.php内三个独立的查询?
  2. 如何获取这两个 表的student_info_id。我想到了LAST_INSERT_ID,但我很困惑如果两个用户同时填写表单, 会发生什么。那么如何去 这个办法呢?

如果这甚至不是一个正确的方法,如何填充这两个表的数据?

请指教。

问候

+2

为什么你需要分割数据?您已经有了一个字段来表示每个学生的性别,因此您可以在搜索时将其添加到您的查询中。 – andrewsi

+6

'已经在这个网站上搜索过,并且找不到任何关于这个的问题'我不相信这个 –

+1

为什么你想要分裂为女性和男性,我不能想办法增加更多冗余。选择男性的方法是'从student_info中选择哪里性别='男性' – luk2302

回答

0

是绝对没有理由在这个场景分割“男性”和“女性”到自己的表。 (并且我无法想象任何情况下它的意义。)

您存储的实体是缺少更好的术语的人。 (用户,个人等也可以在这种情况下使用,坚持适用于该领域的任何语言)。所以人是表中的记录。性别是人的属性,所以它是该表上的数据元素。一个高度简化的结构来传达,这可能是:

Person 
---------- 
ID (integer) 
GivenName (string) 
FamilyName (string) 
Gender (enumeration) 

Gender值将仅仅是一个选择的值从任何可能的选项。这些选项可能包括:

  • 未知
  • 未公开

有医疗情况下,可能会有更多的选择,和心理情况下,确实可能进一步增加集合。但是对于大多数可能被“未知”或“未公开”(或可能是“其他”作为选项,但这对绝大多数用户而言可能看起来很奇怪)的域名。

要选择此信息,只需在查询中添加WHERE子句。事情是这样的:

SELECT * FROM Person WHERE Gender=1 

如果1映射到,例如,Male那么这将选择所有Person小号谁拥有Male一个Gender属性。