将模型中CodeIgniter的数组结果转换为表格

时间:2010-11-27 17:22:57

标签: php codeigniter

我的模型中有以下代码,但希望以表格而不是数组格式返回结果。我该怎么做?

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 个答案:

答案 0 :(得分:2)

使用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 :(得分:1)

嗯,严格地说,你不应该从模型中返回一个表,只是返回表中的数据。

控制器将数据发送到您的视图,然后循环显示数据以显示表格。

我承认从模型中返回一个表然后将其传递给您的视图似乎很方便,但是如果您的视图具有稍微不同的方式来显示该数据,那么您最终将编写许多类似的模型函数不同之处仅在于它们如何格式化表格。

如果从模型中返回原始数据,您的视图可以根据视图的需要格式化该数据。

答案 2 :(得分:0)

表格不是php的原生表格。您可能会将此与HTML表格混淆。如果是这样的话,

<table>
<?php foreach ($query as $row): ?>
    <tr><?php echo $row->content ?></tr>
<?php endforeach;?>
</table>