2016-03-23 4 views
-1

ich diese Funktion haben nur unterschiedliche Werte aus der dbDISTINCT-Anweisung SELECT doppelte Werte zeigt

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

Und das ist die html zu bekommen. Ich benutze switch, also würden die englischen Werte als ihre hebräische Übersetzung erscheinen.

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

Noch habe ich Werte, die dupliziert zurückkommen. Jeder?

+0

Ihre SQL-Abfrage sollte so enden: 'ORDER BY product_id ASC' <- nicht' AS' – KDOT

+1

keine Notwendigkeit, ASC auch zu verwenden. Es wird in ASC-Reihenfolge in Standard – devpro

+1

Sehr wahr @devpro, so einfach entfernen Sie die AS in Ihrer Abfrage Mike – KDOT

Antwort

2

Verwendung Group by

SELECT category FROM products Group by category 

Die GROUP BY-Anweisung in Verbindung mit den Aggregatfunktionen Gruppe durch eine oder mehrere der Ergebnismenge Spalten verwendet wird.

+0

Mein Problem is.tha einige der Werte zweimal zurück. Ersetzen von Werten, die soll kommen – Mike

+0

Sie versuchen diese Abfrage SELECT Kategorie von Produkten Group nach Kategorie @Mike –

+0

kein Ergebnis (es ist das gleiche – Mike