검색폼의 오류 문제... > 그누4 질문답변

그누4 질문답변

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

검색폼의 오류 문제... 정보

검색폼의 오류 문제...

본문

게시판의 검색폼에 '성별'검색을 적용했는데요
성별로 검색시 여자로 검색을 할때는 정확히 되는데 남자로의 성별 검색시
전체 남자게시물만 검색되는것이 아니라 남자,여자 전체 목록 리스트가 다 검색되고요

성별을 선택하고 '검색' 메뉴버튼을 클릭시 아래와 같이 오류 메세지가 나오거든요
성별' 분류를 선택하고 '검색' 메뉴 버튼을 클릭하면 아래의 오류 메세지가
나오는 원인이 무엇이며,위 남자 성별로는 왜 검색이 제대로 안되는지
아래 내용으로만 체크 가능한지 모르겠네요..



select distinct wr_parent from g4_write_dkk where ((INSTR(LOWER(), LOWER('man'))) ) and (wr_num between '-27' and '9973')

1064 : 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('), LOWER('man'))) ) and (wr_num between '-27' and '9973')' 명령어 라인 1)

error file : /bbs/board.php

 

---------------------------------------------------------------------------------------
list.skin.php-검색폼부분

<form name=fsearch method=get style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca      value="<?=$sca?>">


  <select name=sex onchange="location='../bbs/board.php?bo_table=<?=$bo_table?>&sfl=sex&stx='+this.value;">
        <option value=''>성별</option>
        <option value='man' <?if ($stx=="Man") echo "selected";?>>남자</option>
  <option value='woman' <?if ($stx=="Woman") echo "selected";?>>여자</option>
        </select>

<select name=sfl style="background-color:#f6f6f6; border:1px solid #7f9db9; height:21px;">
    <option value='wr_subject'>제목</option> 
 <option value='mb_id'>아이디</option>
 <option value='wr_name'>이름</option>          
 <option value='wr_datetime'>작성일자</option> 
    <option value='wr_content'>내용</option>
    <option value='wr_subject||wr_content'>제목+내용</option>
 <option value='wr_name,0'>글쓴이(코)</option>
</select>
<input name=stx maxlength=15 itemname="검색어" required value='<?=$stx?>' style="width:290px; background-color:#f6f6f6; border:1px solid #7f9db9; height:21px;">
<input type=image src="<?=$board_skin_path?>/img/btn_search.gif" border=0 align=absmiddle>
<input type=hidden name=sop value=and>

</form>

  • 복사

댓글 전체

다음의 것이 틀린 것 같습니다.

select distinct wr_parent from g4_write_dkk where ((INSTR(LOWER(), LOWER('man'))) ) and (wr_num between '-27' and '9973')

=>

select distinct wr_parent from g4_write_dkk where (INSTR(LOWER(), LOWER('man')) ) and (wr_num between '-27' and '9973')
윗분 말대로 구문을 보면 INSTR 로 오는 처음 파라미터 값이 없습니다. 그래서 빈채로 LOWER()가 되어 있어요. 그러니 sql 구문 에러가 납니다. 처음 파라미터는 필드명이 와야 하는데 지금 s..e..x값을 주신 것 같네요. 그런데 몇가지 질문하고 싶네요...

1. 글을 쓰면 write테이블에 입력이 되는데 원래 s..e..x라는 필드는 없습니다. 만드셨나요? 없으면 당연히 필드가 없는 겁니다.

2. 만일 mb_id를 이용해 member테이블에서 가져오는 방법도 있습니다. 그럴려면 list.php 파일을 수정해서 불러오도록 해야 합니다. 조금 복잡하고 다른 게시판에도 영향을 끼치겠죠...

제가 볼 때 단지 스킨에서만 적용을 하고 그걸 클릭하면 자동으로 될 거라 생각하신 것 같은데 필드 값으로는 반드시 테이블에 있는 정의된 필드명이 와야 합니다. 그런데 필드가 없는 것 같아요...

제안을 해드리면 여분 필드를 이용하세요. 만일 wr_6을 이용하다고 가정하면, 스킨파일에서
<select name=sex onchange="location='../bbs/board.php?bo_table=<?=$bo_table?>&sfl=sex&stx='+this.value;">
        <option value=''>성별</option>
        <option value='man' <?if ($stx=="Man") echo "selected";?>>남자</option>
  <option value='woman' <?if ($stx=="Woman") echo "selected";?>>여자</option>
        </select>

를 다음으로 교체하시구요:
<select name=wr_6 onchange="location='../bbs/board.php?bo_table=<?=$bo_table?>&sfl=wr_6&stx='+this.value;">
        <option value=''>성별</option>
        <option value='man' <?if ($stx=="Man") echo "selected";?>>남자</option>
  <option value='woman' <?if ($stx=="Woman") echo "selected";?>>여자</option>
        </select>

이렇게 되면 wr_6이라는 여분 필드에 성별을 입력하게 될겁니다. 문제는 이전의 입력한 데이터에는 wr_6번이 비어있겠죠. 예전에 어떻게 성별을 어느 필드에 입력했는지가 궁금하네요...
감사합니다^^
1번 질문에 필드를 생성은 어떻게 해야 하는지요?
기존에 관리자페이지에 메뉴로 셩별를 입력하게 한것 같은데요...잘 모르겠네요...ㅠㅠ
© SIRSOFT
현재 페이지 제일 처음으로