질문 Q #10346
ci database 쿼리를 사용할 때
유마 2013-02-19 09:36:55
혹시, 순서 관계 없이 써도 되나요?

예를 들면, select 쿼리라면 당연하게도.. select * , from table , where 절 
이런식으로 쿼리가 구성되어야 하는데,

이걸 순서에 상관없이 써먹어도 되나요?
$this->db->from('table');
$this->db->select('*');
$this->db->where('id', 'test');

이런식으로?
답변 7
#1 변종원(웅파) 2013-02-19 12:20:39
해보세요. ^^
#2 유마 2013-02-19 16:22:37
웅파 //

이미 해봤어요 ㅋㅋ . 잘 되네요..

그런데, 다른 문제가 생겨서 그냥 문자식으로 다시 만들었어요. -_-a

조건별, 이래저래 바꿔줘야 될 부분이 너무 많아서 -_- 게다가, 카운터도 만들어야 하는데,

여러가지 조건 다 달고 카운터 만들려니.... 여러가지 조건 다 달고 카운터 어케 때려야 할까요? -_-

$this->db->count_all_results();

이거 해도 안나오고.. ㅜ.ㅜ


#3 양승현 2013-02-19 16:36:50
SQL_CALC_FOUND_ROWS 에 대해 찾아보셔용..
#4 꾸숑 2013-02-20 12:40:22
유마// 참고로 $this->db->select('*'); 요것 빼셔도 됩니다.
코드 1줄 줄일수 있어요
#5 유마 2013-02-20 15:45:54
양승현  //

오오, 이미 다 바꿔버렸지만, 이 방법... 괜찮을 것 같네요... 다음에 적용...
이미 다 교체를 해버려서 ㅜ.ㅜ

꾸숑 //

그렇게 못하는 이유는... 다른 쿼리를 다 만들어 놓고.. 그 쿼리의 row 수를 카운터 해야 되거든요

그러면 select count(*) from (만들어놓은 다른 쿼리) 이렇게 되어야 하는데...

저건 ci 구문으로 어떻게 해야 하는지?



#6 꾸숑 2013-02-20 21:43:46
유마//소스를 올리시면 답변을 듣기가 수월할것 같습니다.
#7 유마 2013-02-21 17:55:08
 꾸숑 //

예를 들면 이런 겁니당.

$this->db->select('이런거저런거 그런거');

$this->db->form('테이블');
$this->db->join(어쩌구 저쩌구);
$this->db->join(얼씨구 절씨구);
$this->db->where(이러쿵저러쿵1);
$this->db->where(이러쿵저러쿵2);
$this->db->where(이러쿵저러쿵3);

이런 상황인데... 여기에서 $this-db->select('*');
라고 할 수 없는 상황이거든요.

그래서 저 쿼리를 감싸고... 다시 select count(*) from (위의 저 쿼리) 해야 할 상황이거든요.

저럴 때 ci에서 저 쿼리의 result 카운터를 할 수 있는 방법이 있느냐 라는 질문이었죠.

다른 걸로 테스트 했을 땐 양승현님 방법으로 하면 되더라고요. +_+

그게 ci 방식으로 할만한게~ 있을까요?

$this->db->count_all_result();

이거 인거 같은데.. 잘 안되더라고요.. 제가 잘 못하는건지.