CI 묻고 답하기

제목 view에서 foreach문을 사용할때.
글쓴이 수야디벨 작성시각 2013/01/03 16:47:18
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 14105   RSS


안녕하세요.

하나의 딱 완성된  view 페이지가 존재한다고 합니다.

CSS가 맞물려서 설계된 견고한  VIEW페이지라고  가정한다면,

여기에 PHP로 값을 넣을때 주로 foreach로 자주하곤 하는데요,

값을 넣고자 하는  곳을 foreach문으로 감싸버리면,

그 foreach문의  값이 있을경우는 상관 없는데 없어서  루프를  돌지 못할 경우,  감싸진 부분이 그려지지 않아서

예를들어서 컨트롤러에서 ..

$data['data'] = $this->model->get();
$this->load->view('view',$data);

처럼 무조건   던지게  해놓아버리면,

$data['data']에 값이 존재하지 않을 때도  있잖아요 ?

그러면 당연히 foreach문을 안돌테고 ..

view 전체가 깨져버리네요   ..


이런 경우는 어떻게 해 결해 나가야  하나요?

 다음글 경로설정:: 이런게 가능할까요? (11)
 이전글 이상한 현상....ㅠ.ㅠ IE관련.... (12)

댓글

변종원(웅파) / 2013/01/03 17:13:16 / 추천 0
$data['data'] = array();  //가급적이면 변수 선언을 미리 해주는 것이 좋습니다.
$data['data'] = $this->model->get();

$this->load->view('view',$data);

뷰에서는 

if(count($data) > 0 )
{
    //데이터가 있는 경우
}
else
{
    //데이터가 없는 경우 <td colspan=3>데이터가 없습니다.</td> 정도 뿌려주면 됩니다. 
}
수야디벨 / 2013/01/07 11:10:50 / 추천 0

웅파//

감사합니다 :)

 

criuce / 2013/01/07 14:39:58 / 추천 0
foreach 돌리기 전에 항상 is_array로 정상적인 배열인지 확인해 주셔야 합니다~
우왕아항 / 2013/01/09 13:39:25 / 추천 0
웅파님이 답변해주신대로, 미리 자료형을 설정해 놓는 것이 모든 프로그래밍 언어를 통틀어 표준적인 방법입니다.
php는 형변환이 자유로운게 장점이자 단점이 되는데, 형변환이 되는 경우는 최소한으로 만드시는 것이 개발자의 이해와 협업 측면에서 유연합니다.