基于另一个mysql查询的结果运行Mysql查询?

时间:2017-07-18 15:16:25

标签: php mysql loops

我有一个显示客户工作历史记录的页面,但我想显示工作付款是否已结算。

首先在页面上确定selectedcustID,然后运行查询以显示表格中的所有作业。

$query = "SELECT * FROM jobs WHERE customerID = '$selectedcustID'   ORDER BY date_auto";
$result = mysql_query($query, $connection) or die(mysql_error());

for ($i = 0; $i < mysql_num_rows($result); $i++){
  $selectedjobID = mysql_result($result, $i, "jobID");
  $date = mysql_result($result, $i, "date_auto");
  $formatdate =  date("d/m/Y", $date);
  $status = mysql_result($result, $i, "status");
  $notes = mysql_result($result, $i, "notes");

  echo '<tr bgcolor="'.$bgcolor; ......
}

问题是要获得作业是否开票的详细信息,我需要查看另一个表格。

以下是2个表格

Tables

但每行的jobID是根据上面的查询结果确定的。

我尝试在for循环中运行一个新查询,但我似乎无法让它工作。

有没有更好的方法来解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以在SQL查询中加入两个表

$query = "SELECT * FROM jobs INNER JOIN invoices ON jobs.jobID=invoices.jobID WHERE jobs.customerID = '$selectedcustID'   ORDER BY date_auto";

答案 1 :(得分:0)

加入SQL查询中的表:

SELECT 
    a.*,
    b.*
FROM jobs a
JOIN invoices b
ON b.jobID = a.jobID
WHERE customerID = '$selectedcustID'
ORDER BY date_auto

请务必使用mysqli函数。这需要一些调整,但值得一提,因为mysql函数是折旧的,而不是当前版本的PHP。