在CodeIgniter中选择AVG

时间:2015-06-08 17:59:50

标签: php mysql codeigniter codeigniter-3

现在我有所有MySQL结果的表格,我想在我生成的表格的最后一行显示我的数据库中的Cena,Waga和Ilosc的平均值。

型号:

public function pokaz_towary($order = 'Nazwa')
    {
        return $this->db->select('ID, Nazwa, Cena, Waga, Ilosc')->
                        order_by($order)->
                        get('towary')->
                        result();
    }

控制器:

$data['query_towary'] = $this->towary_model->pokaz_towary($this->input->get('order'));

查看:

if (isset($query_towary))
{
    // Nagłówki
    $this->table->set_heading(array(anchor('?order=id', 'ID'), anchor('?order=nazwa', 'Nazwa'), anchor('?order=cena', 'Cena (PLN)'), anchor('?order=waga', 'Waga (KG)'), anchor('?order=ilosc', 'Ilość'), 'Akcja'));

    foreach($query_towary as $row)
    {
        $akcje = anchor('edytuj?id='.$row->ID ,'Edytuj ');
        $akcje .= anchor('usun?id='.$row->ID , 'Usuń');

        $this->table->add_row(
            $row->ID,
            $row->Nazwa,
            $row->Cena,
            $row->Waga,
            $row->Ilosc,
            $akcje
        );
    }

    echo $this->table->generate();
} ?>

1 个答案:

答案 0 :(得分:0)

您可以在select语句中使用CI $this->db->select_avg()或mysql AVG()。

$this->db->select('AVG(Nazwa) avg_Nazwa,AVG(Cena) avg_Cena,AVG(Waga) avg_Waga,AVG(Ilosc) avg_Ilosc');
$result=$this->db->get('towary')->row();

现在你将得到像这样的平均值

$result->avg_Nazwa;//average of Nazwa
$result->avg_Cena;//average of Cena
$result->avg_Waga;//average of Waga
$result->avg_Ilosc;//average of Ilosc

希望你能转换这个想法来解决你的问题。