gpt4 book ai didi

php - 如何使用 mysqli 计算同一数据库中的 2 行

转载 作者:行者123 更新时间:2023-11-29 11:13:11 25 4
gpt4 key购买 nike

我有一个图表,我想在其中显示被禁止和激活的用户数量。我想做的就像使用 php 来计算 banned = 1 的行数一样简单。另一个 activated = 1banned = 0 .

我发现的大多数解决方案由于某种原因都不起作用,有些已经过时,有些我无法弄清楚。我使用 PHP7,但不知道除了 mysqli 的最旧版本之外的任何解决方案有多少变化和mysql

1.

 $result = $db->query("SELECT COUNT(*) AS banned FROM users WHERE banned = '1'");
$row = $result->fetch_assoc();
echo $row['banned']." banned users.";

$result->close();

2.

 $num_banned = $db->query("SELECT COUNT(*) FROM `users` WHERE `banned` = `1`");
$row = $num_banned->fetch_row();
echo '#: ', $row[0];
  • $num_banned = mysqli_query($db, "SELECT * FROM users WHERE banned='1'");
    $num_rows = mysqli_num_rows($num_banned);

  • 最佳答案

    您应该能够使用cases来计算您的记录。

    select 
    count(case when (banned = 1 and activated = 1) then 1 end) as activeban,
    count(case when (banned = 0 and activated = 1) then 1 end) as activenoban,
    count(case when (banned = 1) then 1 end) as banned
    from users;

    演示:http://sqlfiddle.com/#!9/450d04/13

    运行您应该执行的查询,统计被禁止为 activeban 的激活用户、被禁止为 activenoban 的非激活用户,以及所有被禁止用户的计数 禁止

    关于php - 如何使用 mysqli 计算同一数据库中的 2 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40185677/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com