Как отобразить общее количество определенного поля из столбца базы данных, используя Codeigniter? - PullRequest
1 голос
/ 11 мая 2019

Я хочу отобразить в Просмотр значения определенного поля из базы данных.

Например, моя таблица:

                            id  |  rec_scope  |  rec_category
                            --------------------------
                            1   |  Product      |  New
                            2   |  Process      |  Enhance
                            3   |  Process      |  New
                            4   |  System       |  Enhance
                            5   |  Product      |  New
                            6   |  Process      |  New
                            7   |  Product      |  Enhance
                            8   |  System       |  New
                            9   |  Product      |  New
                            10  |  Prcduct      |  New

Я получил вдохновение от:

COUNT/ GROUP BY с активной записью? и Подсчитать и отобразить, сколько из определенного результата столбца

Контроллер:

                            public function index()
                            {

                                $data['records_count']= $this->dashboard_m->records_count();
                                $data['records_scope']= $this->dashboard_m->records_scope();


                                $this->template->load('template', 'dashboard', $data);


                            }

Модель:

                            public function records_scope() {
                                 $this->db->select('rec_scope, COUNT(rec_scope) as total');
                                 $this->db->group_by('rec_scope');
                                 $this->db->order_by('total', 'desc');
                                 $query = $this->db->get('records');


                                foreach ($query->result() as $row) 
                                    $data[] = array(
                                        'rec_scope'  => $row->rec_scope,
                                        'total'  => $row->total
                                    );



                                return $data;

                            }

Как я могу отобразить в html-представлении только общее количество определенного поля с определенным значением?Спасибо.

Пример:

Общее количество товара равно 5.

Общее количество категории товара как нового равно 4.

Общее количество категорииПродукт как улучшение 1.

1 Ответ

1 голос
/ 11 мая 2019

Это, вероятно, даст результаты, которые вы после:

    $this->db->select('*, COUNT(rec_scope) as count');
    $this->db->from('test');
    $this->db->group_by('rec_category, rec_scope');
    $this->db->order_by('rec_scope');
    $res = $this->db->get()->result();
    $data = array();
    foreach ($res as $item) {
        // initialize total
        if (!isset($data[$item->rec_scope]['Total'])) {
            $data[$item->rec_scope]['Total'] = 0;
        }
        $data[$item->rec_scope]['Total'] += $item->count;
        $data[$item->rec_scope][$item->rec_category] = $item->count;
    }
    echo '<pre>';
    print_r($data);

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...