CI 묻고 답하기

제목 몇가지 질문드려요.
글쓴이 appo 작성시각 2015/08/01 21:30:03
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 14324   RSS
예전에 json 해결했습니다. 하...하... html로 처리하다 다른 곳에서 html도 똑같은 data에러가 나길래 찾아보니
한~참 전에 echo문 하나가 있었는데 거길 거칠때 json 데이터로 묻어들어?가서 에러가 난 듯 하네요 ㅠㅠ
실행이 되는지 확인하다가 지웠어야 하는데 모델 구석에 붙여놨다가...

1번질문
새로운 창을 띄울 경우 제이쿼리나 자바스크립트 onload등으로 띄우면 될 거 같은데 헤더,푸터도 같이 들어가니 이상하네요 컨트롤러를 따로 만들어야 할까요?
메모창 같이 작게 뜨는게 필요할때 어떻게들 해결하시나요? 보통 간단하게 해결하시는게 어떤 방법이신지...
인터넷 찾아보니 html하나를 따로 열어서 id값같은거 넘기던데 그게 나을까요?

2번질문
검색기능이랑 연관인데 셀렉트 창이 2개인 경우 초기값이 1이라면 이걸 디폴트로 해놓고, 이후 셀렉트 창에서 선택하고 버튼누르면 선택한 값으로 내용물이 다시 나와야하는데, 이럴 경우 ajax말고 어떻게 해결하시나요? 폼? get? post? 아이디순서를 선택할 경우, 가입날짜를 선택할 경우 그 값을 post로 보내서 컨트롤러->모델로 쿼리요청해서 이걸 다시 같은 뷰로 보내는게 제일 나은가요?
html같은 경우 자기자신에게 폼으로 get값들을 받던데...

3번질문
아직도 헷갈리는게,모델과 뷰는 불러오거나 보내거나 하면 편한데,
A라는 컨트롤러가 있고 AA라는 함수로 AA뷰에서 작업하다가, AA뷰에서 B컨트롤러로 넘어갈 경우 B컨트롤러의 BB함수가 아니라, A컨트롤러의 BB함수로 가려는 경우가 많네요.
주소창에 A/AA에서 BB함수를 실행하면(로그인해제되어서 다시로그인이라던지) A/AA/BB라던지 이런 식으로 실행안되는 주소를 가려고 하는데
컨트롤러를 쉽게 관리하는 팁 같은거 없을까요?
뭔가 팁이라도 있을까요?

4번질문(이건 CI가아니지만)
부트스트랩 메뉴가 이뻐보여서 nav navbar-nav를 사용했습니다.
서브메뉴의 경우 드롭다운이 가로배열인 경우 data-target로 해당 서브메뉴를 불러오는데,
hide를 쓰던 뭘 쓰던 상위메뉴를 한번 더 눌러야 사라지네요 ㅠㅠ
1               2          3          4
1-1 1-2 2-1 2-2 3-1 3-2 4-1 4-2
이런 경우 1번을 누르면 1-1 1-2가 나타나고, 2번을 누르면 2-1 2-2가 나타나고 1-1 1-2는 사라져야 정상인데,
1-1 1-2는 그대로 있고 2-1 2-2가 추가로 나타나네요
부모선택자나 이런저런거, 전체사라지게해도 똑같은데 메뉴를 어떤 걸 쓰는게 나을까요? 그냥 버튼을 써야할까요...

질문이 아주 많은데 제일 궁금한 것만 적어도 이모양이네요...
 
 다음글 초보자가 책 관련 질문드립니다. (2)
 이전글 DB 접속 오류 입니다 (1)

댓글

kaido / 2015/08/03 09:13:15 / 추천 0
1. _remap() 기능을 이용해 보세요.
보통은 ajax와 pop 와 일반 호출 이렇게 3가지만 분리 하면됩니다.
[개인적으로는 ajax와 일반 호출만 하면 pop는 컨트롤러에서 따로 관리 합니다.]
$this->input->is_ajax_request();  이건 ajax 판단 함수입니다.
method_exists($this, $method); 이건 메소드 판별 함수 입니다.

2. 네 ajax 사용합니다.

3. funcation _funname() <- _ 를 붙이면 내부로만 실행 가능한 함수가 됩니다.
function A(){ $bb = _B($get); }
function _B($get){ return $get;}
이걸 찾으시는 것인지...?

4. 코드를 보지 않으면 대답이 어렵습니다만. 현상을 보니 클래스명을 잘못 넣으신것 같습니다.
메뉴얼을 다시 확인 해보셔야 할것 같습니다.
한대승(불의회상) / 2015/08/03 09:24:46 / 추천 0
1. 그냥 간단한하게 컨트롤러를 하나 더 만드세요.
2. ajax를 추천 합니다.
3. url helper의 base_url()을 사용하시면 혼란을 막을수 있습니다.
4. kaido님이 잘 지적해 주셨네요.
appo / 2015/08/03 18:28:00 / 추천 0
1. remap에 따로 넣기에 너무 길어지는거 같아서 컨트롤러 하나 더 만들고 있습니다.
2. ajax로 내용물 정렬하기엔 많지만 일단 적용해보겠습니다.
3. 제 질문은 로그인버튼의 경우 auth컨트롤러에서 체크하는데 다른 컨트롤러의 내용물을 보다가 로그인이 풀릴 경우 다시 버튼을 눌러 auth의 함수를 실행하는 것입니다. funcation _funname()에 관해서 구글링해도 안나오는데...
값을 말씀드리는게 아니라 a href를 쓰면 B컨트롤러/A/ 주소에서 A컨트롤러/B/함수를 누를 경우 B컨트롤러/A/B/ 이런 식으로 실행되서 그렇습니다.
한대승님 말씀대로 base_url을 A컨트롤러, B컨트롤러에 각각 넣어놓고 사용하는게 나은가요?
4. 클래스명에 = 넣어서... 해결되었네요 ㅠㅠ 2주간 왜 안되지 하면서 사용했던...

제이쿼리 등등 다른 책 샀는데 별 도움이 안되네요... 두분 답변 정말 감사드립니다. 다시 열심히 만들게요.