2015-06-08 5 views
1

Теперь у меня есть таблица со всеми моими результатами MySQL, и я хочу показать среднее значение Cena, Waga и Ilosc из моей базы данных в конце строки моей сгенерированной таблицы.Выберите AVG в CodeIgniter

Модель:

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(); 
} ?> 

ответ

0

Вы можете использовать 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 

Надеется, что вы можете преобразовать эту идею, чтобы решить вашу проблему.

+0

Теперь у меня: $ this-> db-> select ('ID, Nazwa, Cena, AVG (Cena) avg_cena, Waga, AVG (Waga) avg_waga, Ilosc, AVG (Ilosc) avg_ilosc'). И у меня есть только один (1) результат (строка) из моей базы данных :( – Saibamen

+1

сделать две функции получить только средние другие получить записи –

+0

Я думаю, что могу сделать это одним запросом. Спасибо за вашу помощь :) – Saibamen

Смежные вопросы