CI 묻고 답하기

제목 쿼리를 조건문에 따라 추가하고 싶습니다...
카테고리 CI 2, 3
글쓴이 개미 작성시각 2017/07/14 15:18:03
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13948   RSS
$user_key = $this->input->post('user_key');
		$board_key = $this->input->post('board_key');
		$keyword = $this->input->post('keyword');
	
		//키워드안에 공백을 포함하고 있는지 검사
		if(strpos($keyword," ")){
			$exp_keyword = explode(" ",$keyword); //공백을 기준으로 나눔
			$select =  "SELECT * FROM ".$table." WHERE (wr_subject LIKE '%$exp_keyword[0]%' OR wr_content LIKE '%$exp_keyword[0]%' OR ca_name LIKE '%$exp_keyword[0]%' )";
		}else{
			$select =  "SELECT * FROM ".$table." WHERE (wr_subject LIKE '%$keyword%' OR wr_content LIKE '%$keyword%' OR ca_name LIKE '%$keyword%' )";
		}

		// " "으로 나뉜 문자가 있으면
		if($exp_keyword != NULL){
			for($i=1; $i < count($exp_keyword); $i++){
				$where = " AND (wr_subject LIKE '%$exp_keyword[$i]%' OR wr_content LIKE '%$exp_keyword[$i]%' OR ca_name LIKE '%$exp_keyword[$i]%')";
			}
			$query = $this->db->query($select,$where)->result();
		}else{
			$query = $this->db->query($select)->result();
		}

 

유저키, 보드키, 키워드를 입력받습니다.

키워드 ex)대한 민국 만세  이런식이면 중간에 공백을 검사하여 공백이 있으면 분리하고

첫번째 키워드를 담습니다. 공백으로 키워드들이 나뉘었다면 두번째 키워드부터 AND로 쿼리에 이어붙이는 것입니다..

 

전체적인 구조는 맞는거 같은데... 코드이그나이터를 처음써보다 보니 어렵네요 ㅠㅠ

이렇게 하는게 맞는지 틀렸으면 어디가 틀린지 알려주세요 ㅠㅠ

xml로 전달하는건데 에러는 Message: syntax error, unexpected '.'   입니다. 에러 부분은 $xmlcode .= $keyword."\n";

 

 다음글 autoload 라이브러리 session (8)
 이전글 route 정규식 질문드리겠습니다. (9)

댓글

변종원(웅파) / 2017/07/14 15:27:20 / 추천 1

위와 같은 경우엔 active record를 사용하시는게 훨씬 작업하기 수월합니다.

매뉴얼에서 데이터베이스 부분 참고하세요.

if(조건)

{

    $this->db->where('id', $post);

}

$result = $this->db->get('테이블명');

개미 / 2017/07/14 15:59:08 / 추천 0
@감사합니다 참고해서 해보겠습니다ㅎ