Zeilen in relationaler Datenbank zählen

  • Ich habe eine Gutscheincode-Site. Ich erstelle eine "Black Friday" -Coupons-Seite.

    In der Seitenleiste möchte ich, dass der Benutzer alle Kategorien von Coupons (Bekleidung, Schuhe) sehen kann , Elektronik usw.) und wie viele Black Friday-Coupons wir für jede Kategorie haben.

    Ich ziehe alle Kategorien aus der Tabelle "tblCategories" heraus, aber was ich ' Wenn Sie Probleme haben, erhalten Sie aus der relationalen Tabelle "tblCouponsCategories" eine Zählung der Anzahl der Gutscheine in der Kategorie "Schwarzer Freitag" sowie jede andere Kategorie, nach der ich suche. Die Kategorie-ID von Black Friday lautet '24'. Dies ist der Code, den ich bisher habe:

     $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>";
    }
     

    Hier ist, wie meine relationale Tabelle tblCouponsCategories für a formatiert ist Coupon, der sowohl in der Kategorie "Black Friday" als auch in einer weiteren Kategorie enthalten ist:

     id  couponid  categoryid    
    83995   48312     5 
    83996   48312     9 
    83997   48312     14    
    83998   48312     11    
    83999   48312     24    
    84000   48312     38
     
    22 November 2011
    PaperChase
1 answer
  • Ich denke, Sie haben hier einen Fehler:

     WÄHLEN Sie couponid FROM tblCouponsCategories WHERE categoryid = '24 'AND categoryid =' $ categoryid 'GROUP BY categoryid ") oder die (mysql_error ()); 
     
     // sollte 
     sein SELECT Couponid FROM tblCouponsCategories WHERE categoryid = '24 'GROUP BY categoryid ") oder die (mysql_error ()); 
     
    22 November 2011
    Sudhir Bastakoti