2013-07-14 69 views
0

我使用PHP myAdmin
表名不同的結果了ProductX,並在其中我有Mysql的數行/加在一起的2合1個查詢

--------------------------------------------- 
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 | 

比我有這樣的形式submiting本身複選框形式用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 戈納輸出結果的複選框是爲其他品牌一樣只是想拿着它短這裏

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)
如果用戶檢查只nightshoes導致戈納是耐克
Nightshoes NIKE(2)

AND問題是什麼如果用戶檢查他們兩個

如何使用查詢計數t下襬到(5)? 感謝

回答

1

試試這個:

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

來源:WHERE IN MySQL Clause

+0

謝謝大衛代碼工作:)對不起,我不能投票呢,需要拿出15聲譽得分。 – samuel

+0

@samuel,我看到你有超過25個代表。請注意! – David

+0

是的,我現在可以投票:)再次感謝。 – samuel