3

我正在使用 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 做到这一点?

4

3 回答 3

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 } ?>
于 2012-01-28T06:07:11.417 回答
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>

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

于 2012-01-28T07:37:50.507 回答
2

如果您在实施我之前的答案时有任何问题...这是详细信息...让我知道它是否有用?谢谢。

/* 用于控制器 */

$data['user_data'] = $this->model_name->function_name; model_name= 特定函数所在的模型名称。function_name= 函数到你从 mysql db 中获取所有表值的模型中。

然后在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 } ?>
于 2012-01-28T10:52:04.500 回答