2016-08-22 63 views
-3

好吧,我讀過的所有複製的問題,但我的查詢是從別人 這裏有點不同這是我的數據庫表:計數沒有涉及到每個類別的產品

category 

cat_id | cat_name | parent | parent_id 
----------------------------------------- 
29  | Apparels | --  | 0 
----------------------------------------- 
33  | Mens  | Apparels| 29 


Products 
id | product_name | category | 
-------------------------------- 
28 | Tee   | 33 
-------------------------------- 
29 | Jeans   | 33 

所以在這裏我要的產品數量爲每個類別。我不知道我哪裏錯了。

這是我與該PHP代碼:

if (!empty($_REQUEST['term'])) 
{ 

    $term = mysql_real_escape_string($_REQUEST['term']); 

    $sql = "SELECT * FROM category WHERE cat_name LIKE '%" . $term . "%' or parent LIKE '%" . $term . "' or cat_status LIKE '%" . $term . "'"; 
} 
$r_query = mysql_query($sql); 
if ($r_query > 1) 
{ 

$dynamicList=""; 
    while ($row = mysql_fetch_array($r_query)) 
    { 
     // $cat_id=; 
     /*$dynamicList .= ' 
      <img style="border:#666 1px solid;" src="../storeadmin/category/thumbs/' . $row['cat_id'] . '.jpg" width="77" />';*/ 
      $catid=$row['cat_id']; 
      $result1=mysql_query("SELECT count(1) From products where category='$catid'"); 
      echo "SELECT count(1) From products where category='$catid'"; 
      $rows=mysql_fetch_array($result1); 
      echo $rows['product_name']; 
     echo "<tr>"; 
     echo "<td width='10%'>" . $row['cat_id'] . "</td>";?> 
     <td width="10%"><img style='border:#666 1px solid;' width='70' src="<?php echo $row["cat_image"]; ?>" alt="" /></td> 
     <?php 
     //echo "<td><img style='border:#666 1px solid;' width='70' src='category/thumbs/". $row['cat_id'].".jpg' /></td>"; 

     //echo "<td>".$dynamicList."</td>"; 
     echo "<td width='10%'>" . $row['cat_name'] . "</td>"; 
     echo "<td width='10%'>" . $row['parent'] . "</td>"; 
     echo "<td width='10%'>" . $row['cat_status'] . "</td>"; 
} 
+1

你有什麼跡象表明即使*有問題?你必須描述什麼是錯的。 – David

+1

什麼是輸出?你的預期產出是多少?您發佈的腳本甚至不顯示count()值。 – VaN

+0

那麼我怎樣才能讓它變得更簡單,我只需要每個特定類別的產品數量。任何參考? –

回答

0

選擇category.cat_name,COUNT(*)作爲產品類別,產品whe re 類別。 CAT_ID = Products.category組由category.cat_name

1

if (mysql_numrows($r_query) > 1)

也許這是錯誤。雖然mysql已被棄用,我不會建議你繼續。

+1

'mysql_numrows'不會工作,你有一個錯字。閱讀函數http://php.net/manual/en/function.mysql-num-rows.php的手冊和正確的語法。 –

+0

這也適用於..它適用於我..給它一個嘗試 – Satty

+0

'if(mysql_numrows($ r_query)> 1)'你試圖告訴我,這有效嗎?請,我知道這個功能相當好,你有一個錯字。如在缺少的下劃線中。 –

相關問題