为了账号安全,请及时绑定邮箱和手机立即绑定

统计数据库中特定数据的数量,如果有空白或空则显示0。PHP

统计数据库中特定数据的数量,如果有空白或空则显示0。PHP

PHP
烙印99 2021-09-05 17:04:05
我正在尝试计算特定级别的学生人数。在下拉选择中,您应该会看到该级别的学生人数。在数据库中,目前有 3 名学生。2个是新手,1个是公开冠军。当我第一次编写代码并回显计数时,它将正确显示为新手 (2) 和公开冠军 (1)。然而,其余的都像这样显示为空白:初学者()。我调整了我的代码以包含一个,if statement以便如果该级别没有学生,它将显示为 (0)。不过这次的问题是,当它应该是 2 和 1 时,一切都变成 (0),包括新手和公开冠军。有人能告诉我我做错了什么吗?代码:<div class="col-sm-2 " style="text-align: right;">              <select class="level">                 <option value="all">All Levels</option>                  <?php                  $lvlnum = "SELECT * FROM `dancers` WHERE school = '$ownerSchool'";                  $lvlres = mysqli_query($con,$lvlnum);                  while($lvlrow = mysqli_fetch_array($lvlres)){                      $placement[] = $lvlrow['current_lvl'];                  }                  $placeNum = array_count_values($placement);                  $preBeginner = $placeNum["Pre Beginner"];                  if($preBeginner = '' || $preBeginner = 'null'){                      $preBeginner = 0;                  }                  $beginner = $placeNum["Beginner"];                  if($beginner = '' || $beginner = 'null'){                      $beginner = 0;                  }                  $novice = $placeNum["Novice"];                  if($novice = '' || $novice = 'null'){                      $novice = 0;                  }                  $prizeWinner = $placeNum["Prize Winner"];                  if($prizeWinner = '' || $prizeWinner = 'null'){                      $prizeWinner = 0;                  }                  $prelim = $placeNum["Prelim Champion"];                  if($prelim = '' || $prelim = 'null'){                      $prelim = 0;                  }                  $open = $placeNum["Open Champion"];                  if($open = '' || $open = 'null'){                      $open = 0;                  }
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

空字符串和空字符串与空值不同。三元运算符(又名内联 IF)可能会有所帮助:

$preBeginner = isset($placeNum["Pre Beginner"]) ? $placeNum["Pre Beginner"] : 0;


查看完整回答
反对 回复 2021-09-05
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

也许你可以使用这个:


<div class="col-sm-2 " style="text-align: right;">

    <select class="level">

       <option value="all">All Levels</option>

        <?php

          $lvlnum = "SELECT current_lvl as Placement, Count(Your Primary Key) as DancersOnPlacement FROM `dancers` WHERE school = '$ownerSchool'";

          $lvlres = mysqli_query($con,$lvlnum);


          while($lvlrow = mysqli_fetch_array($lvlres))

          {

            $Placement = $lvlrow['Placement'];

            $Count = $lvlrow['DancersOnPlacement'];


            echo "<option value='".$Placement."'>".$Placement." (".$Count.")</option>";


          }

        ?>

    </select>

</div>


查看完整回答
反对 回复 2021-09-05
  • 2 回答
  • 0 关注
  • 225 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信