0

我正在使用 php myAdmin
表名是 productx 并且在其中我有

---------------------------------------------
Id | gender | brand | category | subcategory|
---------------------------------------------
1  | women  | nike  | shoes    | sandalet   |
2  | women  | nike  | shoes    | nightshoes |
3  | women  | nike  | shoes    | sandalet   |
4  | women  | nike  | shoes    | nightshoes |
5  | women  | puma  | shoes    | sandalet   |
6  | women  | nike  | shoes    | eveningshoes|
7  | women  | puma  | shoes    | sandalet   |
8  | women  | nike  | shoes    | sandalet   |

比我有一个带有复选框的表单,比如这个表单用 javascript 提交自己

<?php if(isset($_POST['shoes'])): ?>
      <input type="checkbox" name="eveningshoes" value="<?php echo $eveningshoes; ?>"onclick="formSubmit()"<?php if(isset($_POST['eveningshoes'])):?>checked<?php endif;?>><?php echo $eveningshoes; antalSkor_subcategory_eveningshoes($shoes_post_var,$eveningshoes);?><br>
      <input type="checkbox"name="nightshoes" value="<?php echo $nightshoes; ?>"  onclick="formSubmit()"<?php if(isset($_POST['nightshoes'])):?>checked<?php endif;?>><?php echo $nightshoes; antalSkor_subcategory_nightshoes($shoes_post_var,$nightshoes);?><br>
      <input type="checkbox" name="sandalet" value="<?php echo $sandalet; ?>"onclick="formSubmit()"<?php if(isset($_POST['sandalet'])):?>checked<?php endif;?>><?php echo $sandalet; echo antalSkor_subcategory_sandalet($shoes_post_var,$sandalet);?><br>       
<?php endif;?>

如果用户单击带有值的复选框 sandalet gona 使用此功能输出结果 功能与其他品牌相同,只是想在这里保持简短

function antalSkor_nike($shoes_post_var,$sandalet_post_var,$nightshoes_post_var,$eveningshoes_post_var,$nike) {
        if(isset($shoes_post_var) && isset($sandalet_post_var)){
        //if sandalet checked counting how many NIKE sandalet we have
            $result1=mysql_query("SELECT count(*) from productsx where category='$shoes_post_var ' AND subcategory='$sandalet_post_var' AND brand ='$nike'")or die (mysql_errno());
            $total1 = mysql_result($result1, 0);    
            echo ' '.'('.$total1.')';

        }elseif(isset($shoes_post_var) && isset($nightshoes_post_var)){     
        //if night shoes checked counting how many NIKE night shoes we have
            $result2=mysql_query("SELECT count(*) from productsx where category='$shoes_post_var ' AND subcategory='$nightshoes_post_var' AND brand ='$nike'")or die (mysql_errno());
            $total2 = mysql_result($result2, 0);    
            echo ' '.'('.$total2.')';
        }elseif(isset($shoes_post_var) && isset($eveningshoes_post_var)){       
        //if evening shoes checked counting how many NIKE evening shoes we have
            $result3=mysql_query("SELECT count(*) from productsx where category='$shoes_post_var ' AND subcategory='$$eveningshoes_post_var' AND brand ='$nike'")or die (mysql_errno());
            $total3 = mysql_result($result3, 0);    
            echo ' '.'('.$total3.')';
        }else{
        if(isset($shoes_post_var)){
                $result=mysql_query("SELECT count(*) from productsx where category='$shoes_post_var ' AND brand ='$nike'")or die (mysql_errno());
            $total = mysql_result($result, 0);  
            echo ' '.'('.$total.')';
        }
    }
}

结果将是

    <input type="checkbox" name="nike"value="<?php echo @$nike; ?>" onclick="formSubmit()"<?php    if(isset($_POST['nike'])):?>checked<?php endif;?>><?php echo @$nike; echo antalSkor_nike($shoes_post_var,$sandalet_post_var,$nightshoes_post_var,$eveningshoes_post_var,$nike);?><br>
       <input type="checkbox" name="puma"value="<?php echo @$puma; ?>" onclick="formSubmit()"<?php    if(isset($_POST['puma'])):?>checked<?php endif;?>><?php echo @$puma; echo antalSkor_puma($shoes_post_var,$sandalet_post_var,$nightshoes_post_var,$eveningshoes_post_var,$puma);?><br>

Sandalet NIKE (3)
如果用户只检查睡鞋结果将适用于 nike
Nightshoes NIKE (2)

和问题是如果用户同时检查它们怎么办

如何使用查询将它们计数到 (5)?谢谢

4

1 回答 1

1

尝试这个:

SELECT COUNT(id) FROM productx WHERE ... WHEREs for brand, gender, and category ... AND subcategory IN ('sandalet', 'nightshoes')

资料来源:MySQL 条款中的 WHERE

于 2013-07-14T02:59:45.833 回答