簡體   English   中英

PHP MySQL - 如果使用 JOIN 查詢在另一個表中存在記錄,則將選擇選項顯示為已選擇

[英]PHP MySQL - Show Select Option as selected If Record exist in another table using JOIN Query

我正在處理一項任務。 其中

  • 有一個選擇標記,其中顯示了 table1 中的用戶名。 我可以選擇多個選項。

  • & 有一個提交按鈕,用於在選擇后將這些選定的選項添加到另一個 table2 中。

在職的:

  • 有 2 個表:table1 和 table2
  • 數據來自選擇選項中的 table1
  • 我選擇多個選項並單擊提交。
  • 這些選項外鍵列表將存儲在 table1 的 table2 中。

但是當頁面再次顯示時,之前選擇的所有選項現在都應該顯示出來。

但我害怕應該運行的多個查詢。 就像目前,我正在這樣做。

  • 我運行以下查詢以在選擇選項中顯示 table1 中的數據
SELECT * FROM table1

並且在 php 循環中,我再次通過查詢來檢查 table1 中此 id 的選項是否存在於 table2 中,然后顯示為該選項選擇。 否則為空。

我的數據庫表table1:id,名稱
表2:id

因此,如果 table1 中的 id 存在於 table2 中,我會顯示已選擇,否則不會顯示已選擇。

唯一的問題是我想避免在循環中運行多個查詢並為此使用一些 JOIN。 但我不知道如何在 JOIN 查詢中使用 if 條件。

請幫忙。

謝謝。

您想使用LEFT OUTER JOIN

SELECT * 
FROM table1 AS t1  
LEFT OUTER JOIN table2 AS t2 
 ON t1.id = t2.id 
WHERE t2.id IS NOT NULL 

這基本上說。

返回table1.id = table2.id記錄。 根據id忽略table2不存在的記錄

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM