[英]Query MySQL results using PHP and multiple HTML dropdown boxes from multiple tables including 'id' reference tables
表結構:
測試鏈接
工程項目
產品
測試鏈接產品
客戶
我的目標是創建一個系統來輸入測試鏈接,並使用戶能夠基於他們可以在一系列下拉框中選擇的多個選項來拉出適當的測試鏈接。
我已經設置了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.