제목 | CI 게시판 검색기능 질문입니다. | ||
---|---|---|---|
글쓴이 | 루비콘 | 작성시각 | 2016/01/15 17:10:18 |
|
|||
위에 사진을 보시는거 처럼 셀렉트 박스를 원장으로 선택하고 원장이라는 텍스트를 입력하면 아래 사진처럼 pname 이 원장이랑 정확히 일치하는 녀석만 긁어 옵니다.여기까지 문제는 없는데 문제는 컨트롤단 소스에 보시는 바와 같이 $check = $this->CI->dgc_edu_trade_1_0_m->view($item,$value); if($check[$item]==$value){ 이 구문의 $check[$item]이 빈값이라는 겁니다. $check에는 밑에 사진과 같이 사용자가 입력한 정보들이 정상적인 배열의 형태로 담겨있는데 해당 배열의 $item 번지의 값과 사용자가 입력한 $value 값이 일치하면 있음 아니라면 없음이 떠야 정상적인 코드인데
$check 에는 DB 에 있는 값들을 정상적인 배열 형태로 가져오는데 왜 $check['$item']에는 빈값을 가져오는지를 모르겠습니다.
pname 을 빈값으로 검색했을때
뷰 모델 function view($item,$value){ //echo $value; //echo $item; //exit; if($item!=""){ $this->db->select("*"); $this->db->from("dgc_edu_trade_1_0"); $this->db->order_by("no", "desc"); $this->db->where($item,$value); $this->db->like($item,$value,'both'); }else{ $this->db->select("*"); $this->db->from("dgc_edu_trade_1_0"); $this->db->order_by("no", "desc"); } $result = $this->db->get()->result_array(); //etcOption 처리 foreach($result as $key=>$list){ $result[$key]['etcOption'] = unserialize($list['etc_option']); } return $result; } 컨트롤 |
|||
다음글 | ajax 공부중입니다. (4) | ||
이전글 | 쿼리 질문 입니다. (3) | ||
루비콘
/
2016/01/15 17:23:32 /
추천
0
|
변종원(웅파)
/
2016/01/16 13:07:18 /
추천
0
결과를 하나만 가져와야 하는거면 result_array() 대신에 row_array()를 사용해야 원하시는 대로 $check[$item]을 쓸 수 있습니다.
result_array()는 올려주신 내용처럼 여러개의 배열값을 가져와서 0, 1 이라고 나와있습니다. result_array()를 쓸때는 $check[0][$item] 이라고 써야합니다. |
루비콘
/
2016/01/18 09:09:19 /
추천
0
정확한 지적과 답변 감사합니다 제가 바보였네요 ㅠㅠㅠㅠㅠ저기 떡하니 0번째 배열부터 값이 들어있다고 나와있는데 그걸 보질 못했네요 ㅠㅠㅠㅠㅠㅠ감사합니다! |
요약해서 말씀드리자면 $check에는 값이 정상적으로 DB에서 LIKE SQL 사용한 결과가 정상적으로 배열형태로 담겨서 넘어옵니다.
하지만 $check[$value]를 사용해서 사용자가 입력한 값과 DB에 해당하는 정보가 일치하면 그걸 보여주고 싶은데
$check의 [$item] 번지에는 아무값도 없다고 나옵니다 ㅠㅠ
사용자가 셀렉특 박스를 선택을 한다 $item 에 pname 이란 값이 자동으로 담긴다.
입력박스에 입력을하면 $value 라는 변수에 값이 저장되어 컨트롤로 넘어간다.
컨트롤러에서는 사용자가 입력한 두가지 $value 와 $pname 값을 정상적으로 가지고 있다가 db 로 넘겨준다
db 에서는 해당 두가지 변수로 SQL 문을 실행하여 Like 문 즉 DB 에 있는 pname 이라는 항목에서 사용자가 입력한 값과 일치하는 값이 있는지 찾아서 다시 컨트롤러 로 뿌려준다 이때 $check라는 변수에 배열형태로 모든 정보를 담아준다.
그리고
$check 에 담겨진 배열의 정보들을 가지고 사용자가 입력한 값과 일치하면 일치하는 항목들을 보여준다
여기서 $check[$value]라는 값과 $value 값을 비교를 한다.
하지만 check 의 $value 번지에는 아무값도 없는 값이 나온다. 고로 비교불가
이게 지금 제가 짠 루틴입니다.