如何从PHP的时间范围(昨天,过去30天)中获取SQL行计数

时间:2019-03-05 21:10:22

标签: php mysql time

我正在尝试从选定的时间范围内连续获取总结果。我将制作30天,并将其放在html网站的单独容器中

并且要为昨天做另一个,然后将其放在自己的容器中。我在代码中使用了代码php文件,并使用AJAX将该文件包含在html / php模板中,以刷新代码并使其实时。

这是代码(PS:我刚刚编辑了用于获得总结果的代码,并试图将其显示为昨天)[如果需要,此特定字段中的日期格式为2019-03-05 10:10:59 ]

从中获取结果的行的名称为“ create_time”,表的名称为t_house_operation_records

    <?php
$conn=mysqli_connect("xx:3306","xx","xx","xx");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="select count(*_
from t_house_operation_records
WHERE create_time IN (CURDATE(), CURDATE() + INTERVAL 1 DAY);
$result=mysqli_query($conn,$sql);

if ($result->num_rows > 0 ) {
    while($row = mysqli_fetch_array($result)) {
    echo "$row[0]";
    }
} else {
    echo "0 results";
}

mysqli_close($conn);


?>

1 个答案:

答案 0 :(得分:2)

您正在使用SQL查询进行计数,但是从PHP结果集对象中获取行计数。

更改查询以不使用计数

$sql="select * from t_house_operation_records
WHERE create_time IN (CURDATE(), CURDATE() + INTERVAL 1 DAY);

选择第一行的第一列

$row = $result->fetch_array();
echo $row[0];