如何通过PHP使用Distinct Function来显示唯一值

时间:2016-08-08 13:24:25

标签: php mysql

如何通过PHP仅显示不同的值 - 以便结果输出是唯一的

不同的功能对此行没有任何影响

#__new_categories.cat_name as cat_name

这是完整的代码

    <?php
    $db = JFactory::getDBO();
    $query = $db->getQuery(true);
    $c = $item->prod_cat_id;

    $query = "SELECT
  DISTINCT  #__new_categories.cat_name as cat_name
   , #__new_categories.cat_parent as cat_parent
   , #__new_products.prod_name  as prod_name
 from #__new_categories 
 inner join #__new_products on #__new_products.prod_cat_id = #__new_categories.id
  where #__new_products.prod_cat_id = $c";

    $db->setQuery($query);                                  
    $results = $db->loadObjectList();  
    foreach($results as $row){
       echo $row->cat_name;
    }
     ?> 

当cat_name中的回显显示类似的值,如

本田本田本田本田本田本田

福特福特福特福特福特福特

如何在

中使用Distinct Function
echo $row->cat_name;

1 个答案:

答案 0 :(得分:2)

问题来自inner join

您可以使用查询执行以下操作:

GROUP BY #__new_categories.cat_name

或使用PHP处理此问题,因为这很可能会破坏您的查询:

$results = $db->loadObjectList();  
$uniqueValues = array();
foreach($results as $row){
    if (!isset($uniqueValues[$row->cat_name])) {
        echo $row->cat_name;
        $uniqueValues[$row->cat_name] = true;
    }
}