Показать запрос в представлении codeigniter - PullRequest
3 голосов
/ 10 июня 2011

скажем, запрос от моего контроллера - $ query.Как отобразить данные, кроме использования этого вида кода?

foreach($query as $row){
echo $row->student_id;
}

любой, кроме этого, потому что запрос имеет только одну строкулюбой способ, которым я могу получить доступ к возвращенному массиву, как это?

$query['student_id'];

Ответы [ 3 ]

2 голосов
/ 10 июня 2011

скажем, ваша таблица имеет следующие поля

student_id and student_name

ваша модель или контроллер должны возвращать только одну строку.

function get_first_student() {

    $query = this->db->select('*')->from('student')-where('student_id','1')->limit(1);
    $data['stuff'] =  $query->row_array(); // or $query->row() which returns an object
    $this->load->view('whatever',$data)

}

тогда, по вашему мнению

<p>student name: <?= $stuff['student_name'] ?> </p>
<p>student id: <?= $stuff['student_id'] ?> </p>
1 голос
/ 11 июня 2011

На самом деле, $query->row() просто выбирает первый ряд.

Таким образом, вместо циклического просмотра результата, вы можете просто сделать:

$student_id = $query->row()->student_id; // (untested)

OR

$row = $query->row();
$student_id = $row->student_id;

Предполагая, что запрос всегда будет возвращать строку.

0 голосов
/ 11 июня 2011

Предположим, вы отображаете профиль пользователя. Рекомендуется хранить все запросы к базе данных в МОДЕЛИ. Я использую это:

CONTROLLER:

$this->load->model('Profile');
$data['row'] = $this->Profile_model->profile_read(); //get profile data
$this->load->view('profile_view', $data); //load data to view

МОДЕЛЬ:

function profile_read()
{
        $this->db->where('user_id', $user_id);
        $query = $this->db->get('user_profiles'); //get all data from user_profiles table that belong to the respective user
        return $query->row(); //return the data    
}

В модели вы можете использовать все остальные функции вашей базы данных (создать, удалить, обновить)

ВИД:

<?php echo $row->name; ?>
<?php echo $row->email; ?>
<?php echo $row->about; ?>
etc

Наконец, в представлении вы можете отобразить любые строки из таблицы, которые принадлежат пользователю.

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