通过codeigniter中的查询计算具有详细信息的行数

时间:2016-12-14 15:06:51

标签: php mysql codeigniter

我正在codeigniter创建一个旅行社网站。我从我的数据库中获取非洲的目的地并在页面上显示。 这是我的控制器代码:

public function africa() {
    $data['africa']= $this->Travel->africa_des();
    $this->load->view('africa', $data);
} 

我的模特:

function africa_des() {
    $this->db->distinct();
    $this->db->select();
    $this->db->from('travels_detail');
    $this->db->like('region', 'africa');
    $this->db->limit(5);
    $query= $this->db->get();

    return $query->result_array();
}

我想获得我在数据库中拥有的每个目的地的总航班数。例如,我有25个阿布贾航班,所以我想在阿布贾目的地获得这个号码。

有人有任何想法吗?

3 个答案:

答案 0 :(得分:0)

试试这个

public function africa_desc(){
    $this->db->distinct();
    $this->db->select('*');
    $this->db->from('travels_detail');
    $this->db->where('region', 'africa');
    $this->db->limit(5);
    $query= $this->db->get();
    return $query->result_array();
}

答案 1 :(得分:0)

当您使用$this->db->distinct()时,必须使用$this->db->group_by('column_name')查看此答案https://stackoverflow.com/a/19509869/6098616。在您的情况下,我将假设destination是您的列名。



public function africa_desc(){    
    $this->db->select('*');
    $this->db->distinct();
    $this->db->group_by('destination');
    $this->db->from('travels_detail');
    $this->db->where('region', 'africa');
    $this->db->limit(5);
    $query= $this->db->get();
    return $query->result_array();
}




希望这会有所帮助。

答案 2 :(得分:0)

尝试此计算航班

public function africa_desc(){    
$this->db->select('*');
$this->db->distinct();
$this->db->group_by('destination');
$this->db->from('travels_detail');
$this->db->where('region', 'africa');
$this->db->limit(5);
$query= $this->db->get();
return $query->num_rows();

}