Преобразование горизонтальной строки таблицы в вертикальную

Я использую 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?


person Shabib    schedule 27.01.2012    source источник
comment
Взгляните на stackoverflow.com/questions/3400621/   -  person Rooneyl    schedule 27.01.2012
comment
@rooneyl, я видел это, но это не помогло. я извлекаю только одну строку и с помощью $this-›table-›generate('records'); показываю результат. и я хочу показать это, как я уже упоминал в вопросе. Вы можете помочь мне в этом?   -  person Shabib    schedule 27.01.2012


Ответы (3)


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

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

$data['user_data'] = $this->modle_name->function_name; modle_name= имя вашей модели, в которой существует конкретная функция. function_name= функция в модель, с помощью которой вы получаете все значения таблицы из mysql db.

затем правильно написать функцию в моделе и перейти на страницу просмотра: может быть так

/* модель */

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 } ?>
person Sakib    schedule 28.01.2012

Я нашел одно решение этой проблемы, но я думаю, что это не лучший способ. вместо использования библиотеки таблиц я изменил свою модель, контроллер и представление следующим образом: модель:

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>

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

person Shabib    schedule 28.01.2012

Эта проблема имеет очень простое решение с помощью одного цикла 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 } ?>
person Sakib    schedule 28.01.2012