计算关系数据库中的行数

时间:2011-11-22 00:26:12

标签: mysql relational-database

我有优惠券代码网站。我正在创建一个“黑色星期五”优惠券和交易页面。

在侧边栏中,我希望用户能够看到我们拥有的所有优惠券类别(服装,鞋子,电子产品等)以及我们为每个类别提供的黑色星期五优惠券数量。

我正在从“tblCategories”表中提取所有类别,但我遇到的问题是从关系表“tblCouponsCategories”中获取“黑色星期五”类别中有多少优惠券的计数,加上我正在寻找的其他类别。 Black Friday的categoryid是'24'。这是我到目前为止的代码:

$result = mysql_query("SELECT name,fmtc_categoryid,categoryid FROM tblCategories ORDER BY name") or die(mysql_error()); 
while($row = mysql_fetch_array( $result )) {
   $fmtc_categoryid=$row['fmtc_categoryid'];
   $categoryid=$row['categoryid'];
   $name=$row['name'];

   $result2 = mysql_query("SELECT couponid FROM tblCouponsCategories WHERE categoryid='24' AND categoryid='$categoryid'") or die(mysql_error()); 
   $count_coupons = mysql_num_rows($result2);

   echo "<li><a href='http://www.mydomain.com/coupons/$fmtc_categoryid' title='View $name Coupon Codes'>$name ($count_coupons)</a></li>";
}

以下是我的关系表tblCouponsCategories的格式,就像“黑色星期五”类别中的优惠券加上另一个类别一样:

id  couponid  categoryid    
83995   48312     5 
83996   48312     9 
83997   48312     14    
83998   48312     11    
83999   48312     24    
84000   48312     38

1 个答案:

答案 0 :(得分:0)

我认为你在这里犯了一些错误:

SELECT couponid FROM tblCouponsCategories WHERE categoryid='24' AND categoryid='$categoryid' GROUP BY categoryid") or die(mysql_error()); 

//should be
SELECT couponid FROM tblCouponsCategories WHERE categoryid='24' GROUP BY categoryid") or die(mysql_error());