Подсчет строк в реляционной базе данных - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть код купона на сайте. Я создаю страницу купонов и сделок «Черной пятницы».

На боковой панели я хочу, чтобы пользователь мог видеть все категории купонов (одежда, обувь, электроника и т. Д.) И сколько купонов «Черная пятница» у нас для каждой категории.

Я извлекаю все категории из таблицы "tblCategories", но у меня возникают проблемы с получением из реляционной таблицы "tblCouponsCategories" количества купонов в категории "Черная пятница", плюс любая другая категория, которую я ищу. 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 голосов
/ 22 ноября 2011

Я полагаю, у вас есть какая-то ошибка здесь:

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()); 
...