2012-01-27 2 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-horizontal-to-vertical – Rooneyl

+0

@ rooneyl, я видел это, но это не помогло. Я получаю только одну строку и $ this-> table-> generate ('records'); i m показывает результат. , и я хочу показать его, как я упомянул в вопросе. вы можете мне помочь? – Shabib

ответ

2

Если у вас возникли проблемы с реализацией моего предыдущего ответа ... Вот подробности ... Дайте мне знать, полезно ли это или нет? Спасибо.

/* для контроллера */

$ данных [ 'user_data'] = $ этом-> modle_name-> имя_функции; modle_name = ваше имя модели, где существует определенная функция. function_name = функция в модуле, с помощью которой вы получаете все значение таблицы из 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

thank u @sakib :) – Shabib

+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. 

затем написать функцию 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

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> 

это работает отлично , но я хотел решить это более простым способом.

Смежные вопросы