在一个 HTML table 中回显两个 SQL 查询

Echo two SQL queries in one HTML table

我试图在一个查询中显示来自两个查询的信息 table,但不知道如何让它工作。

这是我使用一个查询得到的结果:

    SELECT Company,COUNT(*) as count FROM Employee_Table GROUP BY Company ORDER BY count DESC;

    Company       Employees
    ABC           45
    DEF           15
    GHI           5

现在我想要另一个查询,它只计算所有行,给我雇员总数。

    SELECT Company,COUNT(*) as count FROM Employee_Table GROUP BY Company ORDER BY count DESC;

    SELECT COUNT(*) AS Total FROM Employee_Table;

    Company       Employees
    ABC           40
    DEF           15
    GHI           5

    Total         60

这就是我的代码现在的样子。我为我想要回显的额外查询定义了两个额外变量,但相信这不是正确的方法,因为我收到 sqlsrv_fetch_array 错误。

            $query1 = "SELECT Company,COUNT(*) as count FROM Employee_Table GROUP BY Company ORDER BY count DESC;";
            $query2 = "SELECT COUNT(*) AS Totaal FROM Employee_Table;";
            $result1 = sqlsrv_query($conn, $query1);
            $result2 = sqlsrv_query($conn, $query2);

        echo "<table id='total'>";
        echo "<tr><th>Company</th><th>Amount of employees</th></tr>";
            while ($row=sqlsrv_fetch_array($result1, $result2)) {
                echo "<tr><td>";
                echo $row["Company"];
                echo "</td><td>";
                echo $row["count"];

                echo "</td><td>";
                echo $row["Total"];
                echo "</td></tr>";
            }
            echo "</table>";

如何实现?我会很感激任何帮助

试试下面的代码

        $query1 = "SELECT Company,COUNT(*) as count FROM Employee_Table GROUP BY Company ORDER BY count DESC;";
        $query2 = "SELECT COUNT(*) AS Totaal FROM Employee_Table;";
        $result1 = sqlsrv_query($conn, $query1);
        $result2 = sqlsrv_query($conn, $query2);

    echo "<table id='total'>";
    echo "<tr><th>Company</th><th>Amount of employees</th></tr>";
        while ($row=sqlsrv_fetch_array($result1)) {
            echo "<tr><td>";
            echo $row["Company"];
            echo "</td><td>";
            echo $row["count"];

            echo "</td><td>";

            echo "</td></tr>";

        }
        $rows = sqlsrv_fetch_array($result1)
            echo "<tr><td>";
            echo $rows["Total"];
            echo "</td></tr>";
          echo "</table>";

第一个正确

sqlsrv_fetch_array()

看这里http://php.net/manual/de/function.sqlsrv-fetch-array.php

只使用一个查询并使用 mysqli_num_rows() 函数来计数

$count = mysqli_num_rows($result);

我认为您可以仅使用第一个查询来实现此目的

$query1 = "SELECT Company,COUNT(*) as count FROM Employee_Table GROUP BY Company ORDER BY count DESC;";

$result1 = mysql_query($conn, $query1);

$total_employee = 0;
echo "<table id='total'>";
echo "<tr><th>Company</th><th>Amount of employees</th></tr>";
while ($row=mysql_fetch_array($result1)) {
echo "<tr><td>";
echo $row["Company"];
echo "</td><td>";
echo $row["count"];
$total_employee += $row["count"];
echo "</td><td>";

echo "</td></tr>";
}
echo "<tr><td>Total</td><td>$total_employee</td></tr>";
echo "</table>";

您只能使用一个查询:

$result = sqlsrv_query($conn, "SELECT Company,COUNT(*) as count FROM Employee_Table GROUP BY Company ORDER BY count DESC");

?>
<table id='total'>
    <tr><th>Company</th><th>Amount of employees</th></tr>
<?php
$total = 0;
while ($row=sqlsrv_fetch_array($result)) {
    $total += $row["count"];
    ?>
    <tr><td><?= $row["Company"] ?></td><td><?= $row["count"] ?></td></tr>
    <?php
}
?>
    <tr><td></td><td><?= $total ?></td></tr>
</table>
<?php