php - 使用 PHP 和多个 HTML 下拉框从多个表(包括 'id' 引用表)查询 MySQL 结果

标签 php mysql drop-down-menu html-table

表结构:

测试链接

  • 编号
  • 来源
  • 项目编号
  • 客户编号
  • 问答
  • stg
  • 产品
  • 用户名
  • 密码

项目

  • 编号
  • 项目名称
  • 客户编号
  • 项目描述
  • 项目经理
  • qbid
  • 安静
  • 更新日期
  • 目标发布日期
  • 状态

产品

  • 编号
  • 产品名称
  • 项目经理用户 ID

测试链接产品

  • 编号
  • 测试链接id
  • 产品编号

客户

  • 编号
  • 客户名
  • 客户经理

我的目标是创建一个系统来输入测试链接,并使用户能够根据他们可以在一系列下拉框中选择的多个选项来拉取适当的测试链接。

我已经设置了 PHP 和 HTML 页面以将数据输入到上面列出的表格中。现在我正在尝试设置将数据拉入网页所需的 MySQL 查询和 PHP。

我希望用户能够根据 1) projects.id 2) teSTLinks.source 3) products.id 4) clients.id 查询结果

这些将从 4 个单独的下拉框中选择

我能够轻松地根据 projects.id 和 teSTLinks.source 成功提取结果,因为这两个表具有共同的“projectid”。但是,我现在在基于“productid”提取结果时遇到问题,因为产品与测试链接相关联,而不是与项目相关联。 “teSTLinksproducts”表处理产品与测试链接的关联,但我不知道如何将其添加到查询中,因为当我运行查询时,我得到的行重复了几次,但没有达到我想要的结果。

这是我的 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

注意:如果测试链接只能在一个项目、产品和客户中,则可能不需要分组依据。如果测试链接在多个项目中,group_concat() 可能会有所帮助。

关于php - 使用 PHP 和多个 HTML 下拉框从多个表(包括 'id' 引用表)查询 MySQL 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14128242/

相关文章:

Python flask - "Check if the username exists in the MySQL database"

asp.net-mvc-3 - 设置 Html.DropdownList 的默认值和 CSS 类

javascript - 为什么 jQuery 对我的所有列表元素应用点击阻止

javascript - AJAX PHP HTML 表单问题

php - 如何使用 Ajax 和 json 从 mysql 中填充选择

php - 如何在 PHP 中删除双引号之间的逗号

mysql - 假设我想为MYSQL创建一个 "stored function"。我在哪里写的?哪个文件?

Php 扩展 : config. m4,可能未定义宏:LT_SHARED_LIBADD

mysql - 建mysql数据库时collat​​ion字段中不同语言的意义是什么

jquery - 下拉菜单 CSS 或 jQuery