그누보드 검색기능

그누보드 검색기능

QA

그누보드 검색기능

본문

안녕하세요,

 

그누보드의 검색기능에 대해 질문이 있습니다.

 

현재 저는 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."' ";  

그래야 키값이 없을 때 오류가 나지 않을 테니까요 

 

 

 

음...상당히 어렵네요..
알려주신 방법을 적용하려 했으나.. 배열에 들어가는 값들이 너무 많아서 그런가..오류가 나네요..흑..


혹 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]['과일'] ?>

이렇게 해봤는데 오류가 납니다...

배열의 값이 많아서 오류가 나는게 아니고 잘 못 넣으셨겠지요
필드를 하나 추가할거면 과일 이름이라던지 이런게 들어가면 되겠지요
기존 숫자는 그대로 놔두시구요
그러면 숫자로 검색을 하던지 이름으로 검색을 하던지 찾을 수가 있겠지요

$sql = "update 테이블 set 과일='사과' where wr_id='".$wr_id."'";
이렇게 사용하시거나
$sql = "update 테이블 set 과일='사과' where wr_id='{$wr_id}'";
이렇게 사용하시거나 하셔야겠지요
작은따옴표 안에서 변수는 변수가 아니고 문자가 됩니다

배열을 간단하게 넣어 보겠습니다 

가령 여분필드 bo_1 에 " |사과|배|파인애플|과즙|앵두|딸기|바나나 "와 같이 넣습니다  

이녀석을 불러와서 배열로 자장하는건 간단하니까요

$aaa = explode("|",$bo_1); 이렇게 하면 배열이 저장이 되겠지요 근데 0을 사용하면 안되니까 맨앞에는 빈칸을 넣어서 0에는 아무값도 안들어 가게 해야겠지요 

이제 이 배열로 검사를 하면 되겠지요 

 

 

 

 

 

게시판의 관리자에서 해당게시판의 여분필드에 원하는 값들을 |  로 분할할수있게 넣으셔도 되고요
아니면 이미 다른곳에 들어가 있는 값이라면 그녀석을 분리해서 배열로 저장할 수 있는 방법을 생각해보세요

답변을 작성하시기 전에 로그인 해주세요.
전체 123,684 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT