如何查詢儲存在資料庫中的多個選擇元素
P粉347804896
P粉347804896 2024-04-04 13:18:46
0
1
309

查詢專業領域(儲存為任何選定項目陣列)無法運作。我正在嘗試找出一種在編輯時獲取註冊農民的專業知識領域的方法。

我有兩張桌子。資料庫中的登記農民表和專業領域表。

專業領域儲存在專業領域表中。

註冊農民表包含註冊農民的所有資料。

這是專業領域表:

area_of_expertise_id#id_number_of_the_farmer##areas_of_expertise##register_farmer_id
1 23232223 培養 1
2 23233453 收穫 2

註冊農民表:

register_farmer_id name_of_the_farmer age_of_the_farmer
1 無名氏 23
2 瑪麗·多伊 34

我想在專業領域表中擁有一個註冊農民 ID,就像在註冊農民表中一樣。我猜這將是一個外鍵。

我正在嘗試查詢某個農民的所有專業領域。查詢到的資料將顯示在其頁面上以供編輯。

將資料儲存在專業領域中效果很好。我使用 foreach 迴圈來儲存資料。現在的問題是查詢資料。

請幫忙。

P粉347804896
P粉347804896

全部回覆(1)
P粉060112396

您可能需要過度考慮您的表格設計,因為這看起來像經典的 1:n 關係(即使是 1:1,訊息也不會改變)

嘗試這樣:

Farmers:
ID (PRIMARY, AutoIncrement), name, age

Expertises:
farmerID (index), areaOfExpertise

插入如下(假設準備好的語句):

INSERT INTO `farmers` VALUES (NULL, ?, ?)`

然後,您從活動連接中檢索「最後插入 ID」並將其放入第二個表中。

INSERT INTO `expertise` VALUES (?, ?)

要檢索訊息,您需要採取相反的方法。要檢索所有農民,您可以使用查詢

SELECT * FROM `farmers`

並且,要僅獲取特定農民(假設您有 ID),您可以使用:

SELECT * FROM `farmers` WHERE ID = ?

無論您是查看所有農民還是僅查看一個農民,在評估資訊時,您都將訪問以下專業領域:

SELECT * FROM `expertise` WHERE farmerID = ?

這就是它的全部內容。 假設是 1:1 的關係(如「每個農夫只有一個專業領域」),你也可以這樣一次寫出來:

SELECT * FROM `farmers`, `expertise` WHERE ID = ? and farmerID = ID;
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!