插入两个或更多列并与一行相关-php-mysql

插入两个或更多列并与一行相关-php-mysql,php,mysql,Php,Mysql,我有一张表格要填写那个人的性别和工作 如果任何人有两份或两份以上的工作,我如何将其添加到数据库中并与该人关联 如将驱动程序添加到列表中 <?php $insertjob = sprintf("INSERT INTO `user` (id, name, gender, job) VALUES (%s, %s, %s)", GetSQLValueString($_POST['name'], "text"),

我有一张表格要填写那个人的性别和工作 如果任何人有两份或两份以上的工作,我如何将其添加到数据库中并与该人关联

如将驱动程序添加到列表中

<?php 
$insertjob = sprintf("INSERT INTO `user` (id, name, gender, job) VALUES (%s, %s, %s)",
                       GetSQLValueString($_POST['name'],   "text"),
                       GetSQLValueString($_POST['gender'], "text"),
                       GetSQLValueString($_POST['job'],    "text"));
?>


谢谢

您可以使用两张桌子

执行以下操作:

表1:人员

ID | Person | Sex
表2:工作

ID | Person_ID | Job
现在可以使用外键了。如果你有一个人,让我们给他起名叫杰克,说他有两份工作,你可以做以下事情:

亲临表:

ID | Name | Sex
1  | Jack | m
ID | Person_ID | Job

1  | 1         | Teacher

2  | 1         | Driver
在作业表中:

ID | Name | Sex
1  | Jack | m
ID | Person_ID | Job

1  | 1         | Teacher

2  | 1         | Driver
因此,您所要做的就是在yout Job表的
Person\u ID
字段中引用您的个人ID。然后,您可以简单地使用SQL连接

SELECT p.name, p.sex, j.job FROM Person p JOIN Jobs j ON p.id = j.Person_ID

您必须为
作业
用户作业
创建单独的表,如:

job\u用户
表格

+----+---------+--------+
| id | user_id | job_id |
+----+---------+--------+
| 1  | 5       | 1      |
+----+---------+--------+
| 2  | 5       | 2      |
+----+---------+--------+
| 3  | 5       | 3      |
+----+---------+--------+
+--------+----------+
| job_id | job      |
+--------+----------+
| 1      | teacher  |
+--------+----------+
| 2      | driver   |
+--------+----------+
| 3      | engineer |
+--------+----------+
+---------+-------+--------+
| user_id | name  | gender |
+---------+-------+--------+
| 1       | John  | m      |
+---------+-------+--------+
| 2       | Jane  | f      |
+---------+-------+--------+
| 3       | Jim   | m      |
+---------+-------+--------+
| 4       | Jones | m      |
+---------+-------+--------+
| 5       | Garry | m      |
+---------+-------+--------+
作业
表格

+----+---------+--------+
| id | user_id | job_id |
+----+---------+--------+
| 1  | 5       | 1      |
+----+---------+--------+
| 2  | 5       | 2      |
+----+---------+--------+
| 3  | 5       | 3      |
+----+---------+--------+
+--------+----------+
| job_id | job      |
+--------+----------+
| 1      | teacher  |
+--------+----------+
| 2      | driver   |
+--------+----------+
| 3      | engineer |
+--------+----------+
+---------+-------+--------+
| user_id | name  | gender |
+---------+-------+--------+
| 1       | John  | m      |
+---------+-------+--------+
| 2       | Jane  | f      |
+---------+-------+--------+
| 3       | Jim   | m      |
+---------+-------+--------+
| 4       | Jones | m      |
+---------+-------+--------+
| 5       | Garry | m      |
+---------+-------+--------+
用户
表格

+----+---------+--------+
| id | user_id | job_id |
+----+---------+--------+
| 1  | 5       | 1      |
+----+---------+--------+
| 2  | 5       | 2      |
+----+---------+--------+
| 3  | 5       | 3      |
+----+---------+--------+
+--------+----------+
| job_id | job      |
+--------+----------+
| 1      | teacher  |
+--------+----------+
| 2      | driver   |
+--------+----------+
| 3      | engineer |
+--------+----------+
+---------+-------+--------+
| user_id | name  | gender |
+---------+-------+--------+
| 1       | John  | m      |
+---------+-------+--------+
| 2       | Jane  | f      |
+---------+-------+--------+
| 3       | Jim   | m      |
+---------+-------+--------+
| 4       | Jones | m      |
+---------+-------+--------+
| 5       | Garry | m      |
+---------+-------+--------+

强烈劝阻
或者您可以在
作业
列中转储
json\u encode($\u POST['jobs'])

使用数组怎么样?考虑两个表并使用外键链接它们。考虑重新设计关于标准化的表,一对多关系创建一个单独的作业表,并使用外键将其连接到用户表。