将水平表行转换为垂直表行

时间:2012-01-27 10:56:29

标签: codeigniter tableviewcell

我正在使用CodeIgniter 2.1.0和MySQL。我想将水平数据行显示为垂直数据。当我从数据库中获取单行并回显它时,它看起来像

----------------------------------------
id    | name   | address | email       |
----------------------------------------
1     | Foo    | Bar     | foo@bar.com |
----------------------------------------

我使用CodeIgniters表库来生成上表。而不是这个,我希望它显示如下:

------
id : 1
name: foo
address : bar
email: foo@bar.com
-------------------

如何使用CodeIgniter 2.1.0执行此操作?

3 个答案:

答案 0 :(得分:2)

通过在视图页面中使用单个foreach循环,此问题非常简单:

/* for controller */    
    $data['user_data'] = $this->modle_name->function_name;
    modle_name= your modle name where the specific function exists.
    function_name= function into the modle by which you get all the table value from mysql db.

然后在模型中写出当前函数并转到视图页面:

/* for view */

<?php foreach ($user_data as $data) {?>
<tr>
 <?php echo 'ID:' . '  ' ?>
 <?php echo ($data['id']); ?>
 <?php echo 'Name:' . '  ' ?>
 <?php echo ($data['name']); ?>
 <?php echo 'Address:' . '  ' ?>
 <?php echo ($data['address']); ?>
 <?php echo 'E-mail:' . '  ' ?>
 <?php echo ($data['email']); ?>
</tr> 
<?php } ?>

答案 1 :(得分:2)

我已经找到了解决这个问题的方法,但我认为这不是最好的方法。 而不是使用表库,我改变了我的模型,控制器和视图,如下所示: 模型:

function detail()
{
 $this->db->where('id',$this -> session -> userdata('id'));
 $query=$this->db->get('user');
 $row=$query->row_array();
 return $row;
}

控制器:

$this->load->model('my_model');
$this->my_model->detail();
$data=array(
 'id'=>$query['id'],
 'name'=>$query['name'],
 'address'=>$query['address'],
 'email'=>$query['email']
);
$this->load->view('my_view',$data);

视图:

<div>
id : <?php echo $id;?><br/>
name: <?php echo $name;?><br/>
address: <?php echo $address;?><br/>
email: <?php echo $email;?>
</div>

这完美无缺。但我希望以更简单的方式解决这个问题。

答案 2 :(得分:2)

如果你有任何问题要实现我之前的答案......以下是详细信息...... 让我知道它是否有用? 谢谢。

/ *表示控制器* /

$ data ['user_data'] = $ this-&gt; modle_name-&gt; function_name; modle_name =特定函数所在的模型名称。     function_name =函数到模块中,通过它从mysql db获取所有表值。

然后在modle中编写函数并转到视图页面:它可能就像那样

/ * model * /

function function_name(){
$sql = "select * from tablename where condition";
$query = $this->db->query($sql);
return $query->result_array();
}

/ *用于查看* /

<?php foreach ($user_data as $data) {?>
<tr>
 <?php echo 'ID:' . '  ' ?>
 <?php echo ($data['id']); ?>
 <?php echo 'Name:' . '  ' ?>
 <?php echo ($data['name']); ?>
 <?php echo 'Address:' . '  ' ?>
 <?php echo ($data['address']); ?>
 <?php echo 'E-mail:' . '  ' ?>
 <?php echo ($data['email']); ?>
</tr> 
<?php } ?>