插入两个或更多列并与一行相关-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'])
使用数组怎么样?考虑两个表并使用外键链接它们。考虑重新设计关于标准化的表,一对多关系创建一个单独的作业表,并使用外键将其连接到用户表。