s

검색폼의 오류 문제...

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

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



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>

|

댓글 5개

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

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번 질문에 필드를 생성은 어떻게 해야 하는지요?
기존에 관리자페이지에 메뉴로 셩별를 입력하게 한것 같은데요...잘 모르겠네요...ㅠㅠ
wr_1에서 wr_10까지는 기본으로 있습니다. 그냥 쓰면 되요...
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
16년 전 조회 1,155
16년 전 조회 1,775
16년 전 조회 1,744
16년 전 조회 1,028
16년 전 조회 1,050
16년 전 조회 1,395
16년 전 조회 1,574
16년 전 조회 1,606
16년 전 조회 5,280
16년 전 조회 1,024
16년 전 조회 969
16년 전 조회 1,028
16년 전 조회 3,788
16년 전 조회 901
16년 전 조회 1,685
16년 전 조회 1,545
16년 전 조회 1,717
16년 전 조회 1,474
16년 전 조회 1,576
16년 전 조회 1,276