Php 计算一行中1或0的数量并显示它们?

Php 计算一行中1或0的数量并显示它们?,php,mysql,database,rows,Php,Mysql,Database,Rows,我正在尝试创建一个管理员通知系统,其中在名为“siteconfig”的数据库表中,我有一行名为setting='adminalerts',该行将包含某些警报列,例如: nauseralert未激活用户警报 0或1 mmsitealert维护模式站点警报 0或1 等等。。。 我正在尝试编写一些代码,计算行中0或1的数量,并将值显示为数字。因此,如果上述两项都设置为1,则该值将为2,如果只有1个警报处于活动状态,则该值将为1。如果没有激活的警报,则它将显示为0等。。。这是我试图尝试的代码,但它似乎不

我正在尝试创建一个管理员通知系统,其中在名为“siteconfig”的数据库表中,我有一行名为setting='adminalerts',该行将包含某些警报列,例如:

nauseralert未激活用户警报 0或1 mmsitealert维护模式站点警报 0或1

等等。。。 我正在尝试编写一些代码,计算行中0或1的数量,并将值显示为数字。因此,如果上述两项都设置为1,则该值将为2,如果只有1个警报处于活动状态,则该值将为1。如果没有激活的警报,则它将显示为0等。。。这是我试图尝试的代码,但它似乎不起作用?我希望这里能有点帮助!谢谢

<? 
 $sitealerts = mysql_query("SELECT * FROM siteconfig WHERE setting='adminalerts'");
      $adminalerts = mysql_num_rows($sitealerts);
if ($nonactivated < 0){

     echo 'Admin Alerts';
    } else {
     echo 'No Alerts';
    }
     echo $adminalerts;
?>

我知道这可能是完全错误的,但这是一个非常新的东西,并试图在网上找到它,但不太确定我真的明白如何做到这一点

您必须访问列才能计算正确的值:

$sitealerts = mysql_query("SELECT * FROM siteconfig WHERE setting='adminalerts'");

//if the query was OK
if($sitealerts) {

    //loop through all result rows
    while(FALSE !== ($row = mysql_fetch_assoc($sitealerts))) {

        //do the calculation
        $count = 0;
        $count += intval($row['nauseralert']);
        $count += intval($row['mmsitealert']);
        if($count > 0) {
            print $count;
        }
        print '<br />';
    }
    mysql_free_result($sitealerts);
}

mysql是用PHP5.5编程的 最好使用mysqli

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
// checking connection
if (mysqli_connect_errno()) {
    exit();
}
if ($result = $mysqli->query("SELECT (nauseralert+mmsitealert) as alerts_count FROM siteconfig WHERE setting='adminalerts'")) {
    while ($row = $result->fetch_row()) {
        if($row['alerts_count']) 
           echo $row['alerts_count'];
        else echo ' ';
    }
    $result->close();
}
$mysqli->close();

绝对正确!工作请客,非常感谢!如果没有错误,有没有办法让它显示一个黑色的空格而不是0?