2012-01-27 59 views
3

我使用的是CodeIgniter 2.1.0和MySQL。我想將一個水平數據行顯示爲一個垂直數據行。當我從數據庫中獲取單行和回聲它,它看起來像將水平表格行變換成垂直表格

---------------------------------------- 
id | name | address | email  | 
---------------------------------------- 
1  | Foo | Bar  | [email protected] | 
---------------------------------------- 

我用CodeIgniters表庫產生上述表。而不是這個,我希望它顯示像這樣:

------ 
id : 1 
name: foo 
address : bar 
email: [email protected] 
------------------- 

如何使用CodeIgniter 2.1.0做到這一點?

+0

看看http://stackoverflow.com/questions/3400621/php-arrange-table-content-from-horizo​​ntal-to-vertical – Rooneyl 2012-01-27 11:45:48

+0

@ rooneyl,我看到它,但它沒有幫助。我只提取一行,並通過$ this-> table-> generate('records');我顯示結果。 和我想顯示它,因爲我在問題中提到。你能幫我解決這個問題嗎? – Shabib 2012-01-27 12:11:35

回答

2

如果您有任何問題來實現我以前的答案......這裏是詳細信息... 讓我知道它有用嗎? 謝謝。

/*對於控制器*/

$數據[ '的user_data'] = $這個 - > modle_name->函數名; modle_name =特定函數存在的模型名稱。 function_name = function將函數轉換爲您從mysql db獲取所有表值的模塊。

然後currectly寫功能MODLE,去查看頁面:可能是這樣的

/*模型*/

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 } ?> 
+0

謝謝你@sakib :) – Shabib 2012-01-28 10:54:58

+0

然後解決方案可以幫助你。 – 2012-01-28 12:13:35

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. 

然後寫入功能currectly在MODLE,去查看頁面:

/* 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 } ?> 
+0

謝謝sakib :) – Shabib 2012-01-28 07:39:08

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> 

這個完美的作品。但我希望以更簡單的方式解決這個問題。