2012-01-27 4 views
3

저는 CodeIgniter 2.1.0과 MySQL을 사용하고 있습니다. 가로형 데이터 행을 세로 형으로 표시하려고합니다. 나는 그것을 데이터베이스에서 단일 행을 가져오고 에코 때 나는 위의 표를 생성하는 CodeIgniters 테이블 라이브러리를 사용했다 수평 테이블 행을 수직 테이블 행으로 변환

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

처럼, 그것은 보인다. 이 대신에 다음과 같이 표시합니다 :

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

CodeIgniter 2.1.0에서는 어떻게합니까?

/* 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

http://stackoverflow.com/questions/3400621/php-arrange-table-content-from-horizontal-to-vertical – Rooneyl

+0

@ rooneyl을 보아라, 나는 그것을 보았다. 그러나 도움이되지 않았다. 나는 한 행만을 가져오고 $ this-> table-> generate ('records'); 나는 그 결과를 보여준다. 나는 질문에서 언급 한대로 보여주고 싶다. 이걸 좀 도와 주실 수 있습니까? – Shabib

답변

2

이전 답변을 구현하는 데 문제가 있다면 ... 여기에 세부 사항이 있습니다 ... 유용한 정보인가요? 감사합니다. .

/* 컨트롤러 */

$ 데이터 [ '_ 데이터'] = $ this-> modle_name-> FUNCTION_NAME; modle_name = 특정 기능이있는 사용자의 modle_name. function_name = mysql db로부터 모든 테이블 값을 얻는 modle 로의 함수.

다음 modle에 currectly 기능을 작성하고보기 페이지로 이동 : 그것은 그

/* 모델 */

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

+0

그러면 해결책이 도움이됩니다. –

2

이 문제는보기 페이지에서 하나의 foreach 루프를 사용하여 매우 쉽게 솔루션을 이 문제에 대한 한 가지 해결책을 찾았지만 최선의 방법은 아니라고 생각합니다. 대신 테이블 라이브러리를 사용하여, 나는이처럼 내 모델, 컨트롤러와 뷰를 변경 : 모델 :

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> 

이 완벽하게 작동 . 그러나 나는 이것을 더 간단한 방법으로 해결하기를 원했다.

+0

감사합니다. sakib :) – Shabib

관련 문제