CI 묻고 답하기

제목 url생성에 대한 고수님들의 경험 좀 나누어주세요.
글쓴이 헌빠이 작성시각 2013/12/29 15:21:41
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 16858   RSS
 ci로 심플한 user activity tracking을 구현하던 중 url생성과 관해 고수님들의 경험을 조언받았으면 하는데요.

예를 들어 view에 검색1, 검색2, 검색3 이 있다고 가정하고 검색문자열을 controller에 get로 전송한다면 저는 url을

http://transport.net/[Controller]/[method]/[검색문자열1]/[검색문자열2]/[검색문자열3] 

와 같이 생성합니다. 여기에 pagination정보를 추가해 

http://transport.net/[Controller]/[method]/[검색문자열1]/[검색문자열2]/[검색문자열3]/[페이지 번호]/[페이지당 레코드갯수]

이런 식으로 url을 생성합니다.
만일 내가 검색문자열3 으로만 검색하기 위해 검색1과 검색2 를 비워두고 controller에 전송하기 위해서는 당연히 url은

http://transport.net/[Controller]/[method]///[검색문자열3]/[페이지 번호]/[페이지당 레코드갯수]

와 같이 되여야겠지만 controller가 이 url에서 페이지번호와 레코드갯수를 얻지 못하는 오류가 뜨네요.
하는수 없이 javascript에서 검색문자열이 빈 경우에는 검색관습상 빈도가 낮다고 보아지는 문자열(예를 들어 "1234567890")로 대체해서 아래와 같이 생성하였습니다.

http://transport.net/[Controller]/[method]/1234567890/1234567890/[검색문자열3]/[페이지 번호]/[페이지당 레코드갯수]

해놓고 보니 왕초보인 내가 보기에도 억지스럽네요.
이 경우에 고수님들은 어떤 묘한 방법을 쓰시는지 경험 좀 나누어주세요. 굽신굽신~
===================================================================
포럼의 url생성규칙을 참고해보려고 테스트를 해봤어요.

포럼에서는 검색문자열이 없으면 alert가 뜨고 문자열(예를 들어 "force_download")이 있으면

cikorea.net/search/index/q/force_download

와 같이 생성합니다. 그런데 이 url에서 내가 검색문자열 "force_download"을 지워버리고 아래와 같이 url을 주면 오류가 뜨네요.

cikorea.net/search/index/q/

포럼 개발하신 고수님들을 헐뜯자는 의도로 해본것은 절대 아닙니다.

말주변이 없어놔서 질문이 이해가 갈만큼 잘되였는지 모르겠네요. 
한번 재미들리면 끝까지 헤집고들어가는 성격이라서 모두들 쉬고계시는줄 알면서도 염치 불구하고 질문 올립니다.
가르쳐주세요.
 다음글 서버설정을 로컬로 옮기는데 .htaccess가 동작안해... (3)
 이전글 force_download() 문의드립니다. (3)

댓글

한대승(불의회상) / 2013/12/30 09:17:03 / 추천 0
억지스럽지만 한빠이님처럼 사용 합니다.
http://transport.net/[Controller]/[method]/1234567890/1234567890/[검색문자열3]/[페이지 번호]/[페이지당 레코드갯수]
가변적인 인자가 필요 하다면 
$this->uri->uri_to_assoc()

// 또는

$this->input->get()
변종원(웅파) / 2013/12/30 16:08:55 / 추천 0
변수가 많아지고 복잡하다면 /컨트롤러/메소드/page/1/?변수1=내용1&변수2=내용2 형태도 괜찮습니다.
태양이 / 2014/01/02 11:50:45 / 추천 0
검색은 get(쿼리스트링)을 쓰는게 속편하더라구요