메인 검색부분 부탁드려요;;;;;;;;;;;;; 정보
메인 검색부분 부탁드려요;;;;;;;;;;;;;본문
<form name="fsearch2" method="get" onsubmit="return select_submit(this);">
<input type="hidden" name="....." value=".......">
<select.........생략
</form>
function select_submit(f){
f.action = "./bbs/board.php?bo_table=d_item_1..........";
return true;
}
일단 위 그림같은 검색 부분을 메인 index.php 에다가 삽입하려합니다.
기존있던 전체검색바 이용해서 검색페이지(search.php)로 이동하는거 말구요~
게시판 여분필드(wr_1 ~ wr_5) 5개 이용하여, 여분필드 모두 셀렉트박스로 구현하여
해당 필드 선택한후 검색하면! 해당 게시판 리스트 이동되어지게 구현하려합니다.
참고로 wr_1과 wr_2는 주소셀렉트처럼 wr_1 선택후 wr_2값나오는 동적셀렉트입니다.
셀텍트박스구현 하고 나서 셀렉트 박스 안의 5개 여분필드값들을 폼으로 넘겨 리스트에
뿌려야하는데 히든값으로 뭘넣어야하고, 서밋할때 액션 경로를 이것저것 줘봤는데
도저히..모르겠습니다.ㅎㄷㄷㄷ 밑부분 어떤식으루 메인에서 넘겨야하는지좀
부탁드립니다.!!!꾸벅!
<input type="hidden" name="....." value=".......">
<select.........생략
</form>
function select_submit(f){
f.action = "./bbs/board.php?bo_table=d_item_1..........";
return true;
}
일단 위 그림같은 검색 부분을 메인 index.php 에다가 삽입하려합니다.
기존있던 전체검색바 이용해서 검색페이지(search.php)로 이동하는거 말구요~
게시판 여분필드(wr_1 ~ wr_5) 5개 이용하여, 여분필드 모두 셀렉트박스로 구현하여
해당 필드 선택한후 검색하면! 해당 게시판 리스트 이동되어지게 구현하려합니다.
참고로 wr_1과 wr_2는 주소셀렉트처럼 wr_1 선택후 wr_2값나오는 동적셀렉트입니다.
셀텍트박스구현 하고 나서 셀렉트 박스 안의 5개 여분필드값들을 폼으로 넘겨 리스트에
뿌려야하는데 히든값으로 뭘넣어야하고, 서밋할때 액션 경로를 이것저것 줘봤는데
도저히..모르겠습니다.ㅎㄷㄷㄷ 밑부분 어떤식으루 메인에서 넘겨야하는지좀
부탁드립니다.!!!꾸벅!
댓글 전체
이런 류의 검색은 액션이던 폼값이던 무엇을 넘겨주어도 검색이 이루어질 수 없습니다
list.php를 상당 부분 수정해야 가능합니다
수정하지 않고 하려면
<input type='hidden' name='sfl' value="wr_1||wr_2||wr_3||wr_4||wr_5">
<input type='hidden' name='stx' value="한국 서울 노원구 상계동 341-7">
--stx의 value는 select에서 선택되어진 값으로 만들어 넣습니다(자바스크립트에서)
이런 형태로 넘기면 기본 검색 함수에서 stx 값을 잘라서 wr_1~wr_5필드에서 검색하게는 되지만
한국 이란 값을 wr_1부터 wr_5필드 까지 모두 검색하게 되고, 나머지 검색어도 마찬가지 작업을
하므로 아주 비효울적이고 검색값의 종류에 따라서는 제대로 검색 되지 않을 수도 있을테니
방법이 못됩니다
즉 간단히 기본 설정으로는 불가능하다는 얘깁니다
list.php를 상당 부분 수정해야 가능합니다
수정하지 않고 하려면
<input type='hidden' name='sfl' value="wr_1||wr_2||wr_3||wr_4||wr_5">
<input type='hidden' name='stx' value="한국 서울 노원구 상계동 341-7">
--stx의 value는 select에서 선택되어진 값으로 만들어 넣습니다(자바스크립트에서)
이런 형태로 넘기면 기본 검색 함수에서 stx 값을 잘라서 wr_1~wr_5필드에서 검색하게는 되지만
한국 이란 값을 wr_1부터 wr_5필드 까지 모두 검색하게 되고, 나머지 검색어도 마찬가지 작업을
하므로 아주 비효울적이고 검색값의 종류에 따라서는 제대로 검색 되지 않을 수도 있을테니
방법이 못됩니다
즉 간단히 기본 설정으로는 불가능하다는 얘깁니다
<form name="fsearch2" method="get" action="<?= $g4['path'];?>/bbs/board.php?bo_table=게시판이름">
<select.........생략
</form>
그 다음
/bbs/list.php에서
if($_GET['wr_1']){
$sql_search .=" and wr_1 = '$_GET[wr_1]' ";
}
if($_GET['wr_2']){
$sql_search .=" and wr_2 = '$_GET[wr_2]' ";
}
if($_GET['wr_3']){
$sql_search .=" and wr_3 = '$_GET[wr_3]' ";
}
...
그리구
$qstr.="&wr_1=".urnencode($_GET['wr_1']).'&wr_2='.urnencode($_GET['wr_2']).'&.....';
$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./board.php?bo_table=$bo_table".$qstr."&page=");
하시면 됩니다.
<select.........생략
</form>
그 다음
/bbs/list.php에서
if($_GET['wr_1']){
$sql_search .=" and wr_1 = '$_GET[wr_1]' ";
}
if($_GET['wr_2']){
$sql_search .=" and wr_2 = '$_GET[wr_2]' ";
}
if($_GET['wr_3']){
$sql_search .=" and wr_3 = '$_GET[wr_3]' ";
}
...
그리구
$qstr.="&wr_1=".urnencode($_GET['wr_1']).'&wr_2='.urnencode($_GET['wr_2']).'&.....';
$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./board.php?bo_table=$bo_table".$qstr."&page=");
하시면 됩니다.
일단 균이님 네발가락님 답변주셔서 감사합니다 '_ _'
서밋하면 주소창에도 폼 액션경로에서 "bo_table=게시판이름" 이부분만 빠지고 서밋되어 게시판이 존재하지않는다고 나오구..리스트에서는 Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in...라고 에러뜹니다.;;
서밋하면 주소창에도 폼 액션경로에서 "bo_table=게시판이름" 이부분만 빠지고 서밋되어 게시판이 존재하지않는다고 나오구..리스트에서는 Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in...라고 에러뜹니다.;;
기본적으로는 네발가락님의 코드가 들어가는 것이지만 저렇게 되어서는 실행되지않습니다
왜냐하면 $sql_search값이 생성이 된 후에 덧붙이기 해야하는데 폼을 submit 한다고 해서
$sql_search 가 생성되는 것이 아니기 때문입니다(sca또눈 sfl, stx값이 넘어가야 만들어집니다)
따라서 $sql_search .=" and...."이런 구문을 넣으면 where구문에 에러가 생깁니다
또한 $total_count 를 제대로 계산해 오지 못하므로 해서 페이징이 맞지않게 됩니다
$sql_search를 제대로 만들었다해도 sca 또는 stx값이 없으면 근본적으로 쿼리문에서 sql_search를 적용해서 쿼리를 하지않습니다
검색 후 리스트에서 전체목록 보기 버튼도 문제...
하여튼 간단한 문제가 아닙니다
아! 문제점을 쓰고보니 해결 방법이 있겠습니다
wr_1을 sfl로 설정해주고 wr_1의 select 값을 stx로 설정해서 넘기면 가능하겠네요
wr_1의 값을 포함하는(INSTR) 자료를 검색하므로 완전히 일치해야 한다면 이 방법도 문제이긴 하지만...
왜냐하면 $sql_search값이 생성이 된 후에 덧붙이기 해야하는데 폼을 submit 한다고 해서
$sql_search 가 생성되는 것이 아니기 때문입니다(sca또눈 sfl, stx값이 넘어가야 만들어집니다)
따라서 $sql_search .=" and...."이런 구문을 넣으면 where구문에 에러가 생깁니다
또한 $total_count 를 제대로 계산해 오지 못하므로 해서 페이징이 맞지않게 됩니다
$sql_search를 제대로 만들었다해도 sca 또는 stx값이 없으면 근본적으로 쿼리문에서 sql_search를 적용해서 쿼리를 하지않습니다
검색 후 리스트에서 전체목록 보기 버튼도 문제...
하여튼 간단한 문제가 아닙니다
아! 문제점을 쓰고보니 해결 방법이 있겠습니다
wr_1을 sfl로 설정해주고 wr_1의 select 값을 stx로 설정해서 넘기면 가능하겠네요
wr_1의 값을 포함하는(INSTR) 자료를 검색하므로 완전히 일치해야 한다면 이 방법도 문제이긴 하지만...
<form name="fsearch2" method="get" action="<?= $g4['path'];?>/bbs/board.php">
<input type="hidden" name="bo_table" value="게시판이름">
<select.........생략
</form>
if($_GET['wr_1']){
$sql_search .= $sql_search ? " and wr_1 = '$_GET[wr_1]' " : " wr_1 = '$_GET[wr_1]' ";
}
if($_GET['wr_2']){
$sql_search .= $sql_search ? " and wr_2 = '$_GET[wr_2]' " : " wr_2 = '$_GET[wr_2]' ";
}
if($_GET['wr_3']){
$sql_search .= $sql_search ? " and wr_3 = '$_GET[wr_3]' " : " wr_3 = '$_GET[wr_3]' ";
}
...
<input type="hidden" name="bo_table" value="게시판이름">
<select.........생략
</form>
if($_GET['wr_1']){
$sql_search .= $sql_search ? " and wr_1 = '$_GET[wr_1]' " : " wr_1 = '$_GET[wr_1]' ";
}
if($_GET['wr_2']){
$sql_search .= $sql_search ? " and wr_2 = '$_GET[wr_2]' " : " wr_2 = '$_GET[wr_2]' ";
}
if($_GET['wr_3']){
$sql_search .= $sql_search ? " and wr_3 = '$_GET[wr_3]' " : " wr_3 = '$_GET[wr_3]' ";
}
...
$sql_search를 제대로 만들었다해도 sca 또는 stx값이 없으면 근본적으로 쿼리문에서 sql_search를 적용해서 쿼리를 하지않습니다
즉 검색구문이 적용되지않아요
즉 검색구문이 적용되지않아요
균이님 답변 감사합니다. ^^
포인트를 드리고싶은데 어떻게 드리는지몰랐습니다.;;
일단 메인검색부분 계속 손보는는 중이구요..;;ㄷㄷ
네발가락님소스도응용해보구..이것저것해봤는데..
그냥단순히 wr_1을 sfl로 설정해주고 wr_2의 select 값을 stx로 설정해서 넘기면 가능한데..
이렇게하면 wr_1, wr_2 만 셀렉트선택하고 넘기면 두필드는 검색되어서 넘어오는데...
그나머지 wr_3, wr_4, wr_5 필드 선택하나라도 추가선택하면 그냥 전체리스트로 넘어와버리고
안돼네요..휴.. wr_3, wr_4, wr_5 필드도 각각 sfl로 설정하고 select 값을 stx로 설정해서 넘기면 하나하나는 되는데 1~5까지 전부 검색가능케는 어떻게해야지..안돼네요;;계속 이것저것해보고있습니다!^^;;;
포인트를 드리고싶은데 어떻게 드리는지몰랐습니다.;;
일단 메인검색부분 계속 손보는는 중이구요..;;ㄷㄷ
네발가락님소스도응용해보구..이것저것해봤는데..
그냥단순히 wr_1을 sfl로 설정해주고 wr_2의 select 값을 stx로 설정해서 넘기면 가능한데..
이렇게하면 wr_1, wr_2 만 셀렉트선택하고 넘기면 두필드는 검색되어서 넘어오는데...
그나머지 wr_3, wr_4, wr_5 필드 선택하나라도 추가선택하면 그냥 전체리스트로 넘어와버리고
안돼네요..휴.. wr_3, wr_4, wr_5 필드도 각각 sfl로 설정하고 select 값을 stx로 설정해서 넘기면 하나하나는 되는데 1~5까지 전부 검색가능케는 어떻게해야지..안돼네요;;계속 이것저것해보고있습니다!^^;;;
소스가 왠지 많이 조잡했지만;; 카테고리 분류필드와 여분필드 추가 이용해서 구현했습니다.;;
카테고리 이용을 몰랐네요;; 균이님 네발가락님 조언 감사합니다~
카테고리 이용을 몰랐네요;; 균이님 네발가락님 조언 감사합니다~

저도 같은 고민을 하고 있는데.. 어떻게 구현했는지 알고 싶습니다.
가르쳐 주실 수 있나요???
가르쳐 주실 수 있나요???