2013-09-26 19 views
0

中的元素我想從我的表中打印特定的類別數量我如何使用正確的引用來做到這一點?我如何訪問我的mysql_fetch_row

的mysql:

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['category'] . " " . $row['count']; 

    echo "<br>"; 
    } 

輸出:

auto/Bicycle 1 
Clothing  7 
electronics 4 

現在我怎麼可以打印一個特定的類別,如服裝? (我寧願不只是使用$行[1])

+1

難道你不是隻在你的SQL中插入'where category ='Clothing''並且打印完全像以前一樣? – Fluffeh

+0

我需要他們全部返回 – BluGeni

回答

0

如果你想重複使用數組你可以做到這一點:

while($row = mysql_fetch_array($result)){ 
    $result[$row['category']] = $row['count']; 
} 

,然後只用$result['Clothing']用於獲取服裝的數量

0

通過數組你循環,直到你找到你想要的類別:

while($row = mysql_fetch_array($result)){ 
    if($row["category"] == "Clothing"){ 
     echo $row['category'] . " " . $row['count']; 
     break; 
    } 
} 

,如果你知道它在做的時候哪一類SQL,你可以通過它的類似命令來查詢你正在尋找的類別 - 在這種情況下,你想要的類將永遠是mysql_fetch_array返回的第一個項 - 並且可以節省你循環的空間。

另外 - 由於有人必須評論 - 你不應該再使用mysql_ *,而應該使用mysqli_。

+0

@ ZachNewsham有沒有更好的方法來做到這一點?主要目標是將類別的計數打印到不同位置的網頁上,並執行一個循環,我需要顯示的類別數並不正確 – BluGeni

0

做到這一點,正確的做法是選擇在產品數量每個類別。你沒有指定的模式,但它會是這個樣子:

SELECT `category_name` , COUNT(`category_name`) 
FROM `my_table` 
GROUP BY `category_name` 

你應該能夠以此作爲你的SQL語句的基礎,有一些修改。如果沒有,在這裏發佈你的模式,我會爲你寫SQL語句。