2016-03-23 110 views
-1

我有了这个功能,从DB选择显示重复值DISTINCT声明

function get_all_product_data_admin() 
{ 
    $query = "SELECT DISTINCT category FROM products ORDER BY product_id AS"; 
    mysql_query("SET NAMES 'utf8'"); 
    $result = mysql_query($query); 
    if($result == false) //Something is wrong with the query 
    echo "result non"; 
    if(mysql_num_rows($result) == 0) //No Pages 
    echo "result 0"; 

    while($row = mysql_fetch_assoc($result)) // MAKES 2D ARRAY FOR DRAWING A LIST 
    { 
    $returned_array[] = $row;   
    } 
    return $returned_array; 
} 

只得到不同的值,并且这是HTML。我使用switch,所以英文值将显示为他们的希伯来语翻译。

$menu = get_all_product_data_admin(); 
foreach($menu as $key=>$val) { 
    switch($val['category']) 
    { 
     case "bread": $catt = "לחמים"; break; 
     case "buns": $catt = "לחמניות"; break; 
     case "bake": $catt = "מאפים"; break; 
     case "cake": $catt = "עוגות"; break; 
     case "cookies": $catt = "עוגיות"; break; 
     case "dessert": $catt= "קינוחים אישיים"; break; 
     case "pita": $catt = "פיתות"; break; 
     case "friday": $catt = "חלות יום ו"; break; 
     case "baget": $catt = "באגטים"; break; 
     case "jabeta": $catt = "ג'בטות"; break; 
     case "nogloten": $catt = "ללא גלוטן"; break; 
     case "holiday": $catt = "מוצרי חגים"; break; 
     case "special": $catt = "מיוחדים"; break; 
    } 
    echo ' 
    <a style="float:right;" href="add_product.php?cname='.$val['category'].'"> 
     '.$catt.' 
    </a> 
    '; 
} 

我还是有价值重复复制。任何人 ?

+0

你的SQL查询应该像这样结束:'ORDER BY product_id ASC' < - 非'AS' – KDOT

+1

不需要使用ASC。它会在默认的ASC顺序排序 – devpro

+1

非常真实的@devpro,所以只需删除您的查询“AS”Mike – KDOT

回答

2

使用Group by

SELECT category FROM products Group by category 

的GROUP BY语句一起使用与聚合函数组的结果集由一个或多个列。

+0

我的问题是一些值返回两次.replacecing values应该来 – Mike

+0

你试试这个查询选择类别FROM产品按类别组 @Mike –

+0

没有结果(其相同 – Mike