我编辑了该帖子以更好地理解。这是我作为学生实习生的第一个项目。它是一个设备监视系统,用于记录计算机设备。这是页面中代码的一部分,该页面包含一个筛选选项和一个显示计算机设备列表的表。过滤选项包含几个单选按钮,它们属于状态和条件两个类别。请在帖子末尾看到两个类别的组件。组件是单选按钮值。
类似于Facebook搜索,单击另一个单选按钮时页面会重新加载。我想要计算要在单选按钮标签旁边显示的每个状态和状态的设备数量。但是,状态单选按钮会影响设备的计数。例如,新EQ是刚刚输入库存的设备类型。选中“新建均衡器”按钮并且还选中“可用/未分配”按钮时,表结果将被过滤,显示结果中包含状态为“新建”和“可用/未分配”的设备。表结果将被计数并输出到单选按钮标签旁边,该标签标签告诉用户“ New”和“ Available / Unassigned”多少设备。单击另一个状态单选按钮(例如“旧EQ”按钮)时,标签旁边显示的可用/未分配设备的数量将根据返回的行数而变化,因为用户将请求更改为“ Old ”和“可用/未分配”。顺便说一句,状态和条件是同一表中的列。所有单选按钮都会发生这种情况。如果用户单击“条件”类别下的另一个单选按钮,例如分配的EQ按钮,则标签旁边显示的“可用/未分配”的数量将更改为0或零,因为用户要求显示表格结果新的和已分配的设备,则不请求可用/未分配的设备。如果用户单击“ All condition”按钮,它将对包含ALL条件的表行进行计数,该表行的状态也为New状态。显示表格结果的过滤过程已经开始起作用。我现在正在输出单选按钮标签旁边的数量。
<?php
switch($state AND $condition){
case $state=="allstate" AND $condition=="allcondition":
$sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned'";
break;
case $state=="new" AND $condition=="allcondition":
$sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned' AND eq_state='new'";
break;
case $state=="old" AND $condition=="allcondition":
$sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned' AND eq_state='old'";
break;
case $state=="Unknown state" AND $condition=="allcondition":
$sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned' AND eq_state='Unknown state'";
break;
case $state=="Unknown state" AND $condition=="Available/Unassigned":
$sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned' AND eq_state='Unknown state'";
break;
}
//Code above is incomplete
$result3=mysqli_query($conn,$sql3);
$count=mysqli_num_rows($result3);
echo "<label style='color:red;'><strong>".$count."</strong></label>";
?>
类别:
状态:所有状态,新的,旧的,未知状态
条件:所有条件,可用/未分配,修理,缺少零件,缺少eq,有缺陷,翻新,未知条件
您可以尝试以下方法:
[switch($state AND $condition)
将根据值$state
和$condition
取值为真或假。
这呢?您甚至都不应该使用开关/外壳