그누보드 검색기능
본문
안녕하세요,
그누보드의 검색기능에 대해 질문이 있습니다.
현재 저는 db에 숫자로 입력된 값을 가지고 와
출력할 때에는 한글로 출력하고 있습니다.
예를 들어 db값이 1이면 사과 , 2이면 바나나 이런식으로요..
과일이라는 컬럼에 1,2,..이걸 사과,바나나 이렇게요.
근데 검색기능을 사용할 때 검색대상에 과일을 추가하고 과일이름인 사과를 입력하면.. 이게 안뜬단 말이죠..
아무래도 db값인 숫자와 비교하기 떄문인거겠죠?
제가 변환한 값을 찾고자 하면 어디를 수정해주면 될까요?
답변 2
배열을 불러와서 검색을 해줘야 겠군요
$aaa = array(1 => "사과",2 => "바나나",3 => "배",4 => "딸기");
배열은 위 처럼 해도 되고
$aaa = array("사과","바나나","배","딸기");
이런식으로 해도 됩니다 물런 이경우 사과가 배열의 0번이 되겠지요
db의 필드값에서 숫자 0은 null과 비슷한 역할을 하니 주의해서 사용해야 합니다
이와 같이 배열을 넣고 이중에 배열이 있는지 확인해봅니다
$key = array_search('배',$aaa); 이렇게 하면 배열의 키값을 얻을 수 있습니다
echo $key; 하시면 배의 키값이 3이므로 3이 됩니다 이값을 쿼리에 넣어 주시면 됩니다
뭐 $sql = " select * from where 필드명 = '".array_search("$stx",$aaa)."' ";
대충 이런식입니다
변수로 변환해서 써도 되고요
$aaaKey = array_search("$stx",$aaa);
$sql = " select * from where 필드명 = '".$aaaKey."' ";
요렇게요
근데 이 배열의 key값이 있을 때만 불러와야 하므로 if문을 사용하여서 제어한 다음 쿼리를 날리는게 좋겠네요
$aaaKey = array_search("$stx",$aaa);
if($aaaKey) {
$sql = " select * from where 필드명 = '".$aaaKey."' ";
}
그래야 키값이 없을 때 오류가 나지 않을 테니까요
배열을 간단하게 넣어 보겠습니다
가령 여분필드 bo_1 에 " |사과|배|파인애플|과즙|앵두|딸기|바나나 "와 같이 넣습니다
이녀석을 불러와서 배열로 자장하는건 간단하니까요
$aaa = explode("|",$bo_1); 이렇게 하면 배열이 저장이 되겠지요 근데 0을 사용하면 안되니까 맨앞에는 빈칸을 넣어서 0에는 아무값도 안들어 가게 해야겠지요
이제 이 배열로 검사를 하면 되겠지요