Отобразить несколько строк в codeigniter - PullRequest
2 голосов
/ 23 декабря 2011

У меня есть запрос, в котором я извлекаю содержимое примерно из 5 строк с различным содержанием, но сейчас я не могу отображать их по отдельности в моих представлениях.

Когда я передаю query->result() из моей модели обратно в контроллер как $query, а затем загружаю представление с данными $query, я не знаю, как отобразить, например поле содержимого строки 1.

Я знаю, как это сделать: foreach($query as $row) { echo $row->content; }

Но это не позволяет мне выбирать, какие данные содержимого строки (из 5 полученных) я хочу echo out.

Может кто-нибудь объяснить, как это делается?

Ответы [ 2 ]

3 голосов
/ 23 декабря 2011

Документация CodeIgniter включает в себя раздел под названием Генерация результатов запроса , в котором есть несколько примеров того, что вы ищете.

Вот пример (явно надуманный):

модель:

class Model extends CI_Model
{
    public function get_data()
    {
        return $this->db->query('...');
    }
}

контроллер:

class Controller extends CI_Controller
{
    public function index()
    {
        $data['query_result'] = $this->model->get_data();
        $this->load->view('index', $data);
    }
}

просмотр:

<?php foreach ($query_result->result() as $row): ?>
    <?php echo $row->field_1; ?>
    <?php echo $row->field_2; ?>
    <?php // and so on... ?>
<?php endforeach; ?>
0 голосов
/ 22 мая 2014
function a(){   
   $this->db->select('*');
   $this->db->from('table');
   $this->db->where(array('batch_id'=>$batchid,'class_id'=>$classid));
   $this->db->where(array('batch_id'=>$batchid,'class_id'=>$classid));
   $query=$this->db->get();
   for($i=1;$i<=$query->num_rows();++$i){
      $data[$i]['task'] = $query->row($i)->task;
      $data[$i]['subject_id'] = $query->row($i)->subject_id;
      $data[$i]['postdate'] = $query->row($i)->postdate;
      $data[$i]['cdate'] = $query->row($i)->cdate;
   }
}   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...