簡體   English   中英

使用PHP和來自多個表(包括“ id”參考表)的多個HTML下拉框查詢MySQL結果

[英]Query MySQL results using PHP and multiple HTML dropdown boxes from multiple tables including 'id' reference tables

表結構:

測試鏈接

  • ID
  • 資源
  • 項目編號
  • 客戶編號
  • QA
  • g
  • 產品
  • 用戶名
  • 密碼

工程項目

  • ID
  • 項目名
  • 客戶編號
  • 項目描述
  • 專案經理
  • qbid
  • 乙肝
  • at
  • targetreleasedate
  • 狀態

產品

  • ID
  • 產品名稱
  • 項目經理

測試鏈接產品

  • ID
  • 測試鏈接
  • 產品編號

客戶

  • ID
  • 客戶名稱
  • 客戶經理

我的目標是創建一個系統來輸入測試鏈接,並使用戶能夠基於他們可以在一系列下拉框中選擇的多個選項來拉出適當的測試鏈接。

我已經設置了PHP和HTML頁面,以將數據輸入到上面列出的表中。 現在,我正在嘗試設置將數據提取到網頁所需的MySQL查詢和PHP。

我希望用戶能夠基於1)projects.id 2)testlinks.source 3)products.id 4)client.id來查詢結果

這些可以從4個單獨的下拉框中選擇

我很容易能夠成功地基於projects.id和testlinks.source提取結果,因為這兩個表具有共同的“ projectid”。 但是我現在在基於“ productid”獲取結果時遇到了一個問題,因為產品與測試鏈接關聯,而不與項目關聯。 “ testlinksproducts”表處理產品與testlinks的關聯,但是我不知道如何將其添加到查詢中,因為當我運行查詢時,我得到了重復多次的行,但沒有達到我想要的結果。

這是我的PHP文件,用於根據project.id和testlinks.source提取測試鏈接-

$query = "SELECT testlinks.id,
                 testlinks.source,
                 testlinks.projectid,
                 testlinks.clientid,
                 testlinks.qa,
                 testlinks.stg, 
                 testlinks.prod, 
                 testlinks.username,
                 testlinks.password, 
                 projects.id, 
                 projects.projectname 
          FROM testlinks , projects 
          WHERE testlinks.projectid = projects.id 
            AND (testlinks.projectid='$projectid' 
                 OR testlinks.source='$source')
          ;"; 

$result = mysql_query($query) or die(mysql_error()); 

echo "<table class=\"zebra\">"; 
echo "<thead><tr>
    <th>ID</th>
    <th>Source</th>
    <th>Project Name</th>
    <th>QA</th>
    <th>STG</th>
    <th>Prod</th>
    </tr></thead>";
while($row = mysql_fetch_array($result))
{
    echo "<tr>"; 
    echo "<td>".$row['id']."</td>
        <td>".$row['source']."</td>
        <td>".$row['projectname']."  </td>
        <td>"."<a href=\"".$row['qa']."\" target=\"new\">
            <button>QA</button></a></td>
        <td>"."<a href=\"".$row['stg']."\" target=\"new\">
            <button>STG</button></a></td>
        <td>"." <a href=\"".$row['prod']."\" target=\"new\">
            <button>PROD</button></a></td>
        </tr>";
}
echo "</table>";

有人可以幫助添加查詢功能來基於productid(包含在“ testlinksproducts”表中)提取測試鏈接嗎?

幫助將不勝感激這一件事!

該查詢可能類似於:

SELECT testlinks.id,
                 testlinks.source,
                 testlinks.projectid,
                 testlinks.clientid,
                 testlinks.qa,
                 testlinks.stg,
                 testlinks.prod,
                 testlinks.username,
                 testlinks.password,
                 projects.id,
                 projects.projectname
          FROM testlinks , projects , TESTLINKSPRODUCTS
          WHERE testlinks.projectid = projects.id
            AND testlinks.id = TESTLINKSPRODUCTS.testlinksid
            AND (testlinks.projectid='$projectid'
                 OR testlinks.source='$source'
                 OR TESTLINKSPRODUCTS.productsid = '$productid')
          GROUP BY testlinks.id

注意:如果一個testlink只能在一個項目,產品和客戶中,則不需要分組依據。 如果一個測試鏈接在多個項目中,則group_concat()可能會有所幫助。

暫無
暫無

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

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