그누보드 검색기능 채택완료
안녕하세요,
그누보드의 검색기능에 대해 질문이 있습니다.
현재 저는 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."' ";
}
그래야 키값이 없을 때 오류가 나지 않을 테니까요
답변에 대한 댓글 5개
필드를 하나 추가할거면 과일 이름이라던지 이런게 들어가면 되겠지요
기존 숫자는 그대로 놔두시구요
그러면 숫자로 검색을 하던지 이름으로 검색을 하던지 찾을 수가 있겠지요
db에 값이 들어오지를 않네여
$sql = "update 테이블 set 과일='사과' where wr_id='$wr_id'";
쿼리문이 어디가 틀린건가요?
이렇게 사용하시거나
$sql = "update 테이블 set 과일='사과' where wr_id='{$wr_id}'";
이렇게 사용하시거나 하셔야겠지요
작은따옴표 안에서 변수는 변수가 아니고 문자가 됩니다
댓글을 작성하려면 로그인이 필요합니다.
배열을 간단하게 넣어 보겠습니다
가령 여분필드 bo_1 에 " |사과|배|파인애플|과즙|앵두|딸기|바나나 "와 같이 넣습니다
이녀석을 불러와서 배열로 자장하는건 간단하니까요
$aaa = explode("|",$bo_1); 이렇게 하면 배열이 저장이 되겠지요 근데 0을 사용하면 안되니까 맨앞에는 빈칸을 넣어서 0에는 아무값도 안들어 가게 해야겠지요
이제 이 배열로 검사를 하면 되겠지요
답변에 대한 댓글 3개
배열만 잘 써도 코딩은 줄어들텐데..
아니면 이미 다른곳에 들어가 있는 값이라면 그녀석을 분리해서 배열로 저장할 수 있는 방법을 생각해보세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
알려주신 방법을 적용하려 했으나.. 배열에 들어가는 값들이 너무 많아서 그런가..오류가 나네요..흑..
혹 db에 '한글'이라는 컬럼을 새로 만들고
list.skin에서 값을 뿌려줄 때
1을 사과로 변환 후
sql update문을 이용하여 한글이라는 컬럼에 사과라는 값을 넣은 후
검색부분에
<option value="한글"<?php echo get_selected($sfl, '한글'); ?>>과일</option>
이런식으로 해주는건 어떤가요?
update문 사용시
$sql = "update 테이블 set 과일='사과' where wr_id='$wr_id'";
<?php echo $list[$i]['과일'] ?>
이렇게 해봤는데 오류가 납니다...