查找来自两个不同数据库查询的两个计数列之间的差异,并在PHP中显示结果

查找来自两个不同数据库查询的两个计数列之间的差异,并在PHP中显示结果,php,mysql,sql,Php,Mysql,Sql,上周我问了一个问题,并假设它的最后部分将是直截了当的部分。然而,事实证明并非如此。 这里是对原始问题和背景的一个补充 我有两个数据库,所以我进行了两次SQL查询,并将结果合并到一个表中,其中有四列显示 名称|编号| db1计数| db2计数| 它完美地显示了所有信息。 但是,我需要让它在第5列中显示db1计数和db2计数之间的差异。 这是我的代码: $results = array(); while($row = $result1->fetch_assoc()) { //Adding a

上周我问了一个问题,并假设它的最后部分将是直截了当的部分。然而,事实证明并非如此。 这里是对原始问题和背景的一个补充

我有两个数据库,所以我进行了两次SQL查询,并将结果合并到一个表中,其中有四列显示

名称|编号| db1计数| db2计数|

它完美地显示了所有信息。 但是,我需要让它在第5列中显示db1计数和db2计数之间的差异。 这是我的代码:

$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";
}
将允许我减去它们并回显$difference变量,但我只是得到一个填充了零的列。 我也试过了

echo"<TD>". $row['db1 Count'] - $row['db2 Count']. "</TD>";
echo”“$行['db1 Count']-$row['db2 Count']。"";
但是只需要在页面顶部获取所有db2计数数字

有没有什么我遗漏了,因为我在网上尝试过类似问题的答案,但都没有用。我对这一点非常陌生,因此任何正确方向的提示都将不胜感激。

移动这些行:

$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\u count-$db2\u count);
回显“$row[“number”]”;
回显“$行[“公司]”;
回显“$row[“db1计数”]”;
echo“$row[“db2 Count”]”;
回声“$差异”;
}

太完美了,我曾想过将其放入foreach循环,但我没有想到要将其放入该循环中!非常感谢。
$db1_count = $row['db1 Count'];
$db2_count = $row['db2 Count'];
$difference = ($db1_count - $db2_count);
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>";
}