2 回答

TA贡献1824条经验 获得超5个赞
您的代码正在遍历查询结果并将 的值分配给vacancy变量(可能未在循环外声明)。这不是您想要的(您实际上应该只计算查询返回的行数)。
无论如何,我建议使用聚合查询来计算空缺用户的总数。这样的查询(没有子句的聚合group by)保证总是只返回一行,具有预期的计数。这避免了循环遍历结果的需要。让您的数据库为您完成聚合工作也比在 php.ini 中获取和循环更有效。
您的代码可能如下所示:
$sql25 = "SELECT COUNT(*) AS cnt_vacancy FROM users WHERE Vacancy > 0";
if ($result = $con->query($sql24)) {
$row = $result->fetch_assoc();
<html><p><?php echo $row['cnt_vacancy']; ?> people went to vacancy</p>
</html>
} else {
# error handling...
}

TA贡献1797条经验 获得超6个赞
您可以简单地使用!=as,
SELECT * FROM user WHERE vacancy != 0;
对于您的问题,请尝试一下。
$query = "SELECT sum(vacancy) as total FROM user WHERE vacancy != 0";
$result = $con->query($query);
if(mysqli_num_rows($result) > 0){
$total = mysqli_fetch_assoc($result);
$total = floatval($totle['total']);
}
<html>
<p><?php echo number_format($total,0,",",".");?> people who went to vacancy
</p>
</html>
- 2 回答
- 0 关注
- 148 浏览
添加回答
举报