2011-05-16 4 views
2

데이터베이스의 모든 데이터를 <?php foreach; ?>을 사용하는 테이블로 채 웁니다. 작동시키지 못합니다. 내 코드를 확인하십시오 :Codeigniter가 데이터베이스에서 테이블을 채 웁니다.

controller 
$data['query'] = $this->db->query('SELECT * FROM users'); 
$this->load->view('users_view',$data); 

View 
<?php foreach ($query->result_array() as $row) 
{ ;?> 
<tr> 
<td><?php echo $row['usrID'];?></td> 
<td><?php echo $row['usrName'];?></td> 
<td><?php echo $row['usrPassword'];?></td> 
</tr> 
<?php } ?> 
<?php endforeach; ?> 
+0

당신이있어'{...}'은'foreach' 후, 당신은 또한'endforeach'이 - 하나 또는 다른 사용 . 템플릿 파일에서'foreach (...) :'와'endforeach;를 찾았습니다. – Josh

답변

5

내가보기에 당신의 foreach에 대한 대체 구문을 reccommend 것입니다 ... 당신은 몇 가지 구문 오류 당신이이 방법을 가지고해야처럼 보이는

.

<?php foreach ($query->result_array() as $row): ?> 
    <tr> 
     <td><?php echo $row['usrID'];?></td> 
     <td><?php echo $row['usrName'];?></td> 
     <td><?php echo $row['usrPassword'];?></td> 
    </tr> 
<?php endforeach; ?> 

편집은 - 당신의 문법 문제를 지적합니다. 이 첫 번째 세미콜론이 같은 foreach 문을 작성하는 것과 같다

<?php foreach ($query->result_array() as $row) 
{ ;?> //<---- semicolon? 
<tr> 
<td><?php echo $row['usrID'];?></td> 
<td><?php echo $row['usrName'];?></td> 
<td><?php echo $row['usrPassword'];?></td> 
</tr> 
<?php } ?> 
<?php endforeach; ?> //<--- no need for this when using regular foreach 

... 당신은 당신의 데이터를 처리해야

질문의 관점에서 따로

foreach ($array as $ele) { ; //<--this would throw an error just like it should above. 
    //do stuff 
} 

의견 컨트롤러에서 전체 쿼리 개체가 아닌보기에 표시 할 데이터 배열을 보내는 것입니다.

그래서 ...

컨트롤러

$query = $this->db->query('SELECT * FROM users'); 
$data['users'] = $query->result_array(); 
$this->load->view('users_view',$data); 
+0

감사합니다. .. 매우 눈이 멀었습니다 .. 내 foreach 문법이 잘못되었다는 것을 알지 못했습니다 .. –

+0

..... – jondavidjohn

+0

형식 : 오류 메시지 : 배열의 구성원 함수 result_array() 호출 – NIMISHAN

관련 문제