我上周问了一个问题,并假设它的最后一部分是直截了当的部分。然而事实证明并非如此。 这是原始问题和背景的 link。
我有两个数据库,所以做了2个SQL查询,并将结果合并到一个有四列显示的表中
姓名|号码| db1计数| db2计数|
完美显示所有信息。 但是,我需要让它在第5列中显示db1 Count和db2 Count之间的差异。 这是我的代码:
$results = array();
while($row = $result1->fetch_assoc()) {
//Adding all the 1st query results
$results[$row['number']] = $row;
}
while($row = $result2->fetch_assoc()) {
if(! isset($results[$row['number']]) {
$results[$row['number']] = $row;
}else {
$results[$row['number']]['db2 Count'] = $row['db2 Count'];
}
}
$db1_count = $row['db1 Count'];
$db2_count = $row['db2 Count'];
$difference = ($db1_count - $db2_count);
if ($results) {
echo"<TABLE><caption>Total Call Count Overview</caption><TR>
<TH>Number</TH>
<TH>Company</TH>
<TH>db1 Count</TH>
<TH>db2 Count</TH>
<TH>Difference</TH></TR>";
foreach($results as $row) {
echo"<TR><TD>". $row["number"]. "</TD>";
echo"<TD>". $row["company"]. "</TD>";
echo"<TD>". $row["db1 Count"]. "</TD>";
echo"<TD>". $row["db2 Count"]. "</TD>";
echo"<TD>". $difference . "</TD></TR>";
}
echo"</TABLE>";
} else {
echo"0 Results";
}
我原以为将计数作为变量
$db1_count = $row['db1 Count'];
$db2_count = $row['db2 Count'];
$difference = ($db1_count - $db2_count);
允许我减去它们并回显$ difference变量,但我只是得到一个用零填充的列。 我也试过
echo"<TD>". $row['db1 Count'] - $row['db2 Count']. "</TD>";
但只是为了获得页面顶部的所有db2 Count数字。
我是否缺少某些东西,因为我在网上尝试过类似问题的答案,但无济于事。我真的很陌生,所以任何正确方向的提示都会受到高度赞赏。
答案 0 :(得分:0)
移动以下行:
$db1_count = $row['db1 Count'];
$db2_count = $row['db2 Count'];
$difference = ($db1_count - $db2_count);
在foreach($results as $row)
所以
foreach($results as $row) {
$db1_count = $row['db1 Count'];
$db2_count = $row['db2 Count'];
$difference = ($db1_count - $db2_count);
echo"<TR><TD>". $row["number"]. "</TD>";
echo"<TD>". $row["company"]. "</TD>";
echo"<TD>". $row["db1 Count"]. "</TD>";
echo"<TD>". $row["db2 Count"]. "</TD>";
echo"<TD>". $difference . "</TD></TR>";
}