2017-10-18 84 views
-2

我有一張表格來填寫該人的性別和工作 如果任何人有兩個或更多的工作,如何添加到數據庫中並與該人有關?插入兩列或更多列並與一行相關-php -mysql

enter image description here

喜歡添加驅動程序到列表

<?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")); 
?> 

感謝

+0

使用數組怎麼樣? 或製作兩個表並使用外鍵鏈接它們。 –

+2

考慮重新設計您的表 – Ravi

+0

瞭解規範化和一對多關係 – Jens

回答

2

你應該可以用兩個表工作。

做以下的事情:

表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 

因此,您只需在工作表中的Person_ID字段中引用您的人員編號。然後你可以簡單地使用SQL連接。

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

你打我+1 –

0

您必須創建一個單獨的表jobsuser_jobs,如:

job_user

+----+---------+--------+ 
| id | user_id | job_id | 
+----+---------+--------+ 
| 1 | 5  | 1  | 
+----+---------+--------+ 
| 2 | 5  | 2  | 
+----+---------+--------+ 
| 3 | 5  | 3  | 
+----+---------+--------+ 

jobs

+--------+----------+ 
| job_id | job  | 
+--------+----------+ 
| 1  | teacher | 
+--------+----------+ 
| 2  | driver | 
+--------+----------+ 
| 3  | engineer | 
+--------+----------+ 

users

+---------+-------+--------+ 
| user_id | name | gender | 
+---------+-------+--------+ 
| 1  | John | m  | 
+---------+-------+--------+ 
| 2  | Jane | f  | 
+---------+-------+--------+ 
| 3  | Jim | m  | 
+---------+-------+--------+ 
| 4  | Jones | m  | 
+---------+-------+--------+ 
| 5  | Garry | m  | 
+---------+-------+--------+ 

HIGHLY DISCOURAGED或者你可以轉儲json_encode($_POST['jobs'])jobs柱內。