PHP MYSQL防止数据库前端出现重复结果

时间:2015-04-27 08:45:52

标签: php mysql codeigniter

我正在使用$_POST['params'],我遇到重复名称的问题。

这是我的CodeIgniter

Model

这是我的function displayCategory($id){ $this->db->distinct(); $this->db->select('category'); $this->db->where('avenu_id',$id); $result = $this->db->get('personal_closest')->result_array(); return $result; }

Controller

这是$shop['category'] = $this->personal_closest->displayAvenuCategory($id);

View

我正在使用<ul class="tag-list"> <?php foreach ($avenuadmin as $key => $value) { ?> <li><a href="<?php echo base_url().'social/category/'.$value['category']; ?>"><i class="fa fa-tag"></i> <?php echo $value['category']; ?></a></li> <?php } ?> </ul> 函数来防止重复但不起作用,我的输出是:

  

配件,家居,科技,商品,科技,科技。   我需要展示配饰,家居,技术,内容。

3 个答案:

答案 0 :(得分:1)

区别并不总是有效。

您应该添加 - &gt;

$this->db->distinct();
$this->db->group_by('column_name');

$this->db->select('DISTINCT `name`'); 
$this->db->select('*');

在控制器

$data['category'] = $this->personal_closest->displayAvenuCategory($id);
$this->load->view('view_file_name', $data);

在视图中使用

$category

访问详细信息。

答案 1 :(得分:0)

试试这个:

function displayCategory($id){
    // $this->db->distinct();
    $this->db->select('category');
    $this->db->where('avenu_id',$id);
    $this->db->group_by('category'); // group by category name
    $result = $this->db->get('personal_closest')->result_array();
    return $result;
}

答案 2 :(得分:0)

我已经为$ shop ['category']制作了一个var_dump;这就是结果:

  array(4) {
  [0]=>
  array(1) {
    ["category"]=>
    string(3) "CAP"
  }
  [1]=>
  array(1) {
    ["category"]=>
    string(4) "HOME"
  }
  [2]=>
  array(1) {
    ["category"]=>
    string(4) "TECH"
  }
  [3]=>
  array(1) {
    ["category"]=>
    string(8) "WHATCHES"
  }
}