Как обработать массив результатов в CodeIgniter - PullRequest
0 голосов
/ 29 апреля 2011

Вот моя модель. Я не уверен, что на правильном пути, но это только начало. У меня есть форма опроса на моем сайте, и все значения являются числовыми в полях INT. Я хочу вычислить среднее значение для каждого из 10 столбцов. Вместо того, чтобы вычислять каждый результат в отдельности, мне было интересно, есть ли способ использовать цикл для обработки результатов. Итак, вот оно:

function survey_averages() {

        $q = array(
                    '1' => 'q1',
                    '2' => 'q2',
                    '3' => 'q3',
                    '4' => 'q4',
                    '5' => 'q5',
                    '6' => 'q6',
                    '7' => 'q7',
                    '8' => 'q8',
                    '9' => 'q9',
                    '10' => 'q10'
                    );


        for ($i=1; $i<11; $i++) {
            $this->db->select_avg($q[$i]);
            $query[$i] = $this->db->get('survey');
        }

        return $query;

    }

Если я на правильном пути, то как мне вернуть результаты массива? Если я на неправильном пути, что мне нужно изменить? Кроме того, если я делаю это в моем контроллере:

foreach($query->result_array() as $row) {

Как мне вернуть строки моего массива? PHP не позволяет мне делать $ row-> 1 или $ row -> '1'.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2011

вместо

$query[$i] = $this->db->get('survey');

попробовать

$query[$i] = $this->db->get('survey')->result_array();

затем, чтобы обработать результат модели, вы должны сделать:

foreach( $query as $result )
   foreach( $result as $row ){
      // process $row
   }
0 голосов
/ 29 апреля 2011

попробуй var_dump($query->result_array())

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