我有一个显示客户工作历史记录的页面,但我想显示工作付款是否已结算。
首先在页面上确定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个表格
但每行的jobID是根据上面的查询结果确定的。
我尝试在for循环中运行一个新查询,但我似乎无法让它工作。
有没有更好的方法来解决这个问题?
答案 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。