превратить результаты массива CodeIgniter из модели в таблицу - PullRequest
0 голосов
/ 27 ноября 2010

В моей модели есть следующий код, но я хочу, чтобы результаты возвращались в виде таблицы, а не в виде массива. Как мне это сделать?

function info_car ( $id )
{

    $this->db->select( 'car_id,car_vin_number,car_make,car_model,car_year,car_color,location_location_id,source_source_id' );
    $this->db->where( 'car_id', $id );
    $this->db->from('car');

    $query = $this->db->get();

    if ( $query->num_rows() > 0 )
    {
        $row = $query->row_array();


        return $row;
    }

}

Ответы [ 3 ]

2 голосов
/ 27 ноября 2010

использовать класс таблиц HTML, (немного негибкое) решение, но оно делает работу очень красиво и быстро

$this->load->library('table');

$query = $this->db->query("SELECT * FROM my_table");

echo $this->table->generate($query);

или просто создает массив данных:

$data = array(
             array('Name', 'Color', 'Size'),
             array('Fred', 'Blue', 'Small'),
             array('Mary', 'Red', 'Large'),
             array('John', 'Green', 'Medium')   
             );
echo $this->table->generate($data);

подробнее здесь: http://codeigniter.com/user_guide/libraries/table.html

1 голос
/ 02 декабря 2010

Ну, строго говоря, вы не должны возвращать таблицу из вашей модели, только данные, которые попадут в таблицу.

Контроллер отправляет данные в ваше представление, которое затем перебирает данные вотобразить таблицу.

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

Если вы вернете необработанные данные из вашей модели, ваши представления затем смогут отформатировать эти данные в соответствии с потребностями представления.

0 голосов
/ 27 ноября 2010

Таблицы не являются родными для php. Вы можете спутать это с таблицами HTML. Если это так,

<table>
<?php foreach ($query as $row): ?>
    <tr><?php echo $row->content ?></tr>
<?php endforeach;?>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...