CI 묻고 답하기

제목 기초적인 uri 세그먼트 질문입니다.
글쓴이 허양 작성시각 2011/05/13 10:43:10
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 24136   RSS

현재 세그먼트 값을 네개를 받아서 사용하는데
( /ci/index.php/컨트롤러명/함수명/세그먼트1/세그먼트2/세그먼트3/세그먼트4/ )
그중 하나가 null값이 되는 경우가 있습니다.

세그먼트1이 null값이 되면
1자리에 2가 들어오고, 2자리에 3이들어와서 한칸씩 밀려버립니다.

어떻게 해결할 수 있을까요?ㅜㅜ

 다음글 CI 2.* $this->load->libr... (3)
 이전글 php 기초적인 질문....... (2)

댓글

변종원(웅파) / 2011/05/13 13:28:29 / 추천 0

세그먼트로 변수를 처리하실때는 주의하실 점이 말씀하신대로 값이 없는 경우입니다.

뷰에서 주소를 만들때 값이 없다면 정해진 값(예. NULL)을 넣어서 처리를 하거나
없을 수도 있는 값을 맨 뒤로 보내는 방법이 있습니다. (이 방법은 변수 1개가 빌 경우만 가능)

뷰에서 주소를 만들때 다이렉트로 쓰는 형태로 하지만 (/aaa/bbb/bbb/ddd)
주소함수를 하나 만드시는 것도 방법입니다.

 

<a href="<?php echo url_make(array('aaa','bbb','','ddd')); ?>">

=> <a href="/aaa/bbb/NULL/ddd">

함수는 간단합니다. 배열 갯수대로 주소를 만들어주고 빈 값이 들어오면 NULL로 대체해서 주소를
만들어주면 됩니다.


또 한가지 방법은 세그먼트주소와 쿼리스트링 방식을 혼용하는 겁니다.

/컨트롤러/메소드/?변수1=1&변수2=2

http://codeigniter-kr.org/tip/view/303/page/1 참고하시면 됩니다.