Php 计算SQL组中的行数

Php 计算SQL组中的行数,php,mysql,Php,Mysql,我有一个脚本,我想放在仪表板上。SQL将在while中工作并对项目进行分组,并正确显示在仪表板中。然而,我也希望数量的显示 因此,如果SQL正在分组,我如何计算它返回的行数,以便将每行的数量回显到表中。这是我的密码 <?php $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "dbname"; $custid = $row['CustomerID

我有一个脚本,我想放在仪表板上。SQL将在while中工作并对项目进行分组,并正确显示在仪表板中。然而,我也希望数量的显示

因此,如果SQL正在分组,我如何计算它返回的行数,以便将每行的数量回显到表中。这是我的密码

<?php
    $servername = "localhost";
    $username = "root";
    $password = "root";
    $dbname = "dbname";
    $custid = $row['CustomerID'];
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    $sql1 = "SELECT * FROM stock 
            JOIN hardware ON stock.HardwareID = hardware.HardwareID
            WHERE stock.CustomerID = $custid GROUP BY stock.HardwareID";
    $result1 = $conn->query($sql1);
    if ($result1->num_rows > 0) {
        // output data of each row
        while($row1 = $result1->fetch_assoc()) {
            echo "<tr>";
            echo "<td>".$row1['Hardware']."</td>";
            echo "<td></td>";
            echo "</tr>";
        }
    }
?>

因此,我们的目的是要引起争论

echo "<td></td>";
echo”“;

其中有一个变量,显示分组的每一行的数量。

您可以使用此查询,分组查询必须选择并提供聚合,这里我提供了计数,如果您需要一些适当的列,您可以相应地更改它

            <?php
                $servername = "localhost";
                $username = "root";
                $password = "root";
                $dbname = "dbname";

                $custid = $row['CustomerID'];

                // Create connection
                $conn = new mysqli($servername, $username, $password, $dbname);
                // Check connection
                if ($conn->connect_error) {
                    die("Connection failed: " . $conn->connect_error);
                } 
                $sql1 = "SELECT stock.Hardwareid, count(*) as CountHardware FROM stock 
                JOIN hardware ON stock.HardwareID = hardware.HardwareID
                WHERE stock.CustomerID = $custid GROUP BY stock.HardwareID";
                    $result1 = $conn->query($sql1);

                if ($result1->num_rows > 0) {
                    // output data of each row
                    while($row1 = $result1->fetch_assoc()) {
                        echo "<tr>";
                        echo "<td>".$row1['Hardware']."</td>";
                        echo "<td></td>";
                        echo "</tr>";
                    }
                }
            ?>

您可以使用此查询,分组查询必须选择并提供聚合,这里我提供了计数,如果您需要一些适当的列,您可以相应地更改它

            <?php
                $servername = "localhost";
                $username = "root";
                $password = "root";
                $dbname = "dbname";

                $custid = $row['CustomerID'];

                // Create connection
                $conn = new mysqli($servername, $username, $password, $dbname);
                // Check connection
                if ($conn->connect_error) {
                    die("Connection failed: " . $conn->connect_error);
                } 
                $sql1 = "SELECT stock.Hardwareid, count(*) as CountHardware FROM stock 
                JOIN hardware ON stock.HardwareID = hardware.HardwareID
                WHERE stock.CustomerID = $custid GROUP BY stock.HardwareID";
                    $result1 = $conn->query($sql1);

                if ($result1->num_rows > 0) {
                    // output data of each row
                    while($row1 = $result1->fetch_assoc()) {
                        echo "<tr>";
                        echo "<td>".$row1['Hardware']."</td>";
                        echo "<td></td>";
                        echo "</tr>";
                    }
                }
            ?>


MySQL还是SQL Server?请在选择标记时更加小心。抱歉修复了此问题。MySQL或SQL Server?请在选择标签时更加小心。抱歉修复了此问题。此功能非常有效。我只需要做一个更改。$sql1=“选择stock.Hardwareid,hardware.hardware,count(*)作为CountHardware从stock中加入stock.Hardwareid=Hardwareid=Hardwareid,其中stock.CustomerID=$custid GROUP BY stock.Hardwareid”;但我会接受这个答案。谢谢。这工作做得很好。我只需要做一个更改。$sql1=“选择stock.Hardwareid,hardware.hardware,count(*)作为CountHardware从stock中加入stock.Hardwareid=Hardwareid=Hardwareid,其中stock.CustomerID=$custid GROUP BY stock.Hardwareid”;但我会接受这个答案。谢谢