메인 페이지에 다중 검색페이지를 넣으려고 합니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

메인 페이지에 다중 검색페이지를 넣으려고 합니다. 정보

메인 페이지에 다중 검색페이지를 넣으려고 합니다.

본문

메인 페이지에 다중 검색페이지를 넣으려고 합니다.

게시판 자체 내에서 다중 검색스킨이나 팁은 있는데 다른 검색 팁은 없어서 이렇게 질문올립니다.

이미지에서 보이는 것처럼 wr_1 , wr_2, wr_3, wr_4, wr_5 의 여분 필드에 저장된 모든 값을

한꺼번에 모두 검색하도록 하고 싶습니다.

여기에서 게시판을 지정하여 하나의 게시판만 검색하는 것입니다.

검색 버튼을 누르면 wr_1 , wr_2, wr_3, wr_4, wr_5의 모든 값을 검색한 데이터가 출력되도록 말이죠.

board.php?bo_table=게시판명&sfl=wr_1||wr_2||wr_3||wr_4||wr_5&stx=값%20값%20값%20값%20값&sop=and

이런 식으로 말이죠. 물론... 주소가 저리 되면 너무 지저분해 보이겠지만요 ^^;;;

<form method="POST" action="/bbs/board.php?bo_table=게시판명">
<form name="fsearchbox" method="get" onSubmit="return fsearch_submit(this);" style="margin:0px;">
<input type=hidden name=sfl value="wr_1||wr_2||ca_name||wr_3||wr_4||wr_5||wr_subject">
<input type="hidden" name="sop" value="and">

이런식으로 시작은 했는데 모든 값을 검색하는 것은 어찌 해야 하는지...

이 문제로 몇날 며칠을 혼자서 끙끙 헤매고 있습니다. 고수님들의 친절하고 상세한 답변 부탁드립니다.
  • 복사

댓글 전체

넘어오는 sfl은 "||"로 나누고 또 stx는 ' '로 나누었다면

그걸 처리하는 페이지에서

$fields = explode('||', $sfl);
$values = explode(' ', $stx);

sql where 구문 구현에서

$where_arr = array();

for ($i = 0; $i < count($fields); $i++)
{
    $where_arr[] = "INSTR(LOWER(".$fields[$i]."), LOWER('".$values[$i]."'))";
    // like을 쓰기 원하면
    // $where_arr[] = $fields[$i]." like '%".$values[$i]."%'";

    // 만일 값이 딱 지정된 것이라면
    // $where_arr[] = $fields[$i]." = '".$values[$i]."'";

    // 여기서는 데이터값이 크지 않기 때문에 like을 써도 무방할 것이고
    // 혹 정해진 값만 들어간다고 하면 마지막 것을 쓰셔도 무방
}
$where = emplode(' and ', $were_arr);

이런 식으로 구현한 뒤 sql 문장 where 뒤에다 붙여넣기 하면 될 것 같습니다.
<form 을 중복 시킨 것은 뭡니까?  하나만 있어야 됩니다
wr_1은 필수검색어라는 전제하에

<form name="fsearchbox" method="POST" onSubmit="return fsearch_submit(this);" style="margin:0px;">
<input type='hidden' name="sfl" value='wr_1'>
.
.
<select name='stx'><option value='1'>wr_1값</option>....</select>
<select name='wr_2'><option value='1'>wr_2값</option>....</select>
.
.
.
</form>

list.php에서 // 원글만 얻는다. 바로 윗줄에 추가
if($wr_2) $sql_search .=" and wr_2='$wr_2'";
if($wr_3) $sql_search .=" and wr_3='$wr_3'";
wr_5까지추가
© SIRSOFT
현재 페이지 제일 처음으로