表格结构:
测试链接
身份证件
来源
投射的
客户
质量保证
stg公司
产品
用户名
密码
项目
身份证件
项目名称
客户
项目说明
项目经理
qbid公司
埃提德
评估日期
目标日期
地位
产品
身份证件
产品名称
项目经理
测试链接产品
身份证件
测试链接sid
产品ID
客户
身份证件
客户名称
客户经理
我的目标是创建一个系统来输入测试链接,并使用户能够根据他们可以在一系列下拉框中选择的多个选项来拉取适当的测试链接。
我已经设置了PHP和HTML页面,将数据输入到上面列出的表中。现在,我正在尝试设置MySQL查询和PHP,以将数据拉到网页中。
我希望用户能够根据1)projects.id 2)testlinks.source 3)products.id 4)clients.id查询结果
这些将从4个单独的下拉框中选择
我很容易就能成功地基于projects.id和testlinks.source提取结果,因为这两个表有共同的projectid。但是,我现在有一个基于“productid”提取结果的问题,因为产品与testlinks关联,而不是与项目关联。“testlinks products”表处理产品与testlinks的关联,但我不知道如何将其添加到查询中,因为当我运行查询时,会重复几次行,并且无法获得所需的结果。
这是我的PHP文件,用于根据project.id和testlinks.source提取testlinks--
$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>";
是否有人可以帮助添加查询功能,以基于productsid(包含在“testlinksproducts”表中)拉取testlinks?
在这件事上,我们将非常感谢您的帮助!
最佳答案
查询可能类似于:
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 by。如果testlink位于多个项目中,则
group_concat()
可能会有帮助。关于php - 使用PHP和来自多个表(包括“id”引用表)的多个HTML下拉框查询MySQL结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14128242/