如何从表中检索数据并计算另一个表中的数字行,然后在while循环或HTML表中一起显示它们?

时间:2017-12-27 16:40:25

标签: php select join mysqli subquery

我需要从表格'projects'中检索'projects'个详细信息。

我需要从'projectsBids'获得出价数量。

然后根据项目ID

在HTML表格中显示所有内容

这是我的'projectsBids'表:

pID  | bidder      
-----+----------------
AAAA | mark 
AAAA | pete 
AAAA | dave 
BBBB | mason
BBBB | simon

以下代码显示特定项目ID(pID)的出价数量

<?php
$pID = $_GET["pID"];
$query = "SELECT pID FROM projectsBids WHERE pID='$pID'";
$result = mysqli_query($con, $query) or die('error');
echo mysqli_num_rows($result);
?>

现在我想在HTML摘要表中使用'pID'显示此计数,我从另一个表'projects'

检索数据

'projects'表:

pID   |     pName      | pBudget 
--------------------------------
AAAA | Create Website | 250      
BBBB | Create an App  | 550

我使用以下代码检索数据..

检查第4个<td>(在以下代码中)我想要显示该项目ID的出价数量。

<?php
$sql="SELECT pID,pName,pBudget FROM projects ORDER BY id";
    $result=mysqli_query($con,$sql);
    while($row = mysqli_fetch_assoc($result))
    {
        echo "<tr>";
        echo "<td>".$row['pID']."</td>";
        echo "<td>".$row['pName']."</td>";
        echo "<td>".$row['pBudget']."</td>";
        echo "<td>"**HERE I WANT TO SHOW 'Number of BIDS of PROJECT ID(pID)'**"</td>";
        echo "</tr>";
    }
?>

每当我尝试使用子查询或加入时,它都不起作用..

执行此操作的正确查询是什么?

2 个答案:

答案 0 :(得分:1)

试试这个 我已根据您的数据对其进行了测试。

SELECT *,(SELECT COUNT(pID)FROM projectsBids WHERE projectsBids.pID = projects.pID)作为出价来自项目 使用此查询,您将获得结果。

答案 1 :(得分:-1)

试试这个:

select p.pid,p.pname,p.pbudget,count(pb.bidder) as totbids from projects p left join projectsBids pb on p.pid=pb.pid group by p.pid,p.pname,p.pbudget
相关问题