如何在查询PHP MySQL中计算行数?

时间:2016-11-29 02:34:42

标签: php mysql

我在数据库中需要2行 sum_hour(double type)查询

第1行= sum_hour = 2.75

第二行= sum_hour = 3.00

它属于2个(两个)组,其中 type_move =' P' (开始日期> = 2016-11-11 AND end_date< = 2016-11-15)组。代码如下:

<?php
    $sql    = "SELECT  sum_hour,
                    SUM(sum_hour)
                    FROM table
                    WHERE type_move = 'P' AND user_id='username' AND (start_date >= '2016-11-11' AND end_date <= '2016-11-15')
                    GROUP BY sum_hour ";

    $result = mysqli_query($connect, $sql);
    if($result && mysqli_num_rows($result) > 0)
    {
        while($row = mysqli_fetch_assoc($result))
        {   
            $hour = $row['sum_hour'];
            echo " Hours = " .$hour. "<br/>";
            print_r($row);
        }

        echo "Total hours = " .$hour. "<br/>";

    mysqli_free_result($result);
    }
    else
    {
        echo mysqli_error($connect);
    }
?>

输出如下:

小时= 2.75

小时= 3.00

总小时数=?

我的问题是,如何计算上面的2行(小时)?我试图在phpmyadmin中运行sql语句。它工作,我可以看到值总和= 5.75 ,但我不知道如何在浏览器中回显总数

感谢。

1 个答案:

答案 0 :(得分:3)

只需用以下内容更新你的循环:

$totalHours = 0;

while($row = mysqli_fetch_assoc($result))
    {   
        $hour = $row['sum_hour'];

        $totalHours += $hour;

        echo " Hours = " .$hour. "<br/>";
        print_r($row);
    }

echo "Total hours = " .$totalHours. "<br/>";

您需要将第一个值存储在变量中,然后将第二个值添加到第一个值。只需确保可以在循环外读取该值。