게시판목록에서 검색할때

게시판 목록에서 검색을 하면 주소가 이렇게

http://sir.co.kr/bbs/board.php?bo_table=g4_qa&sca=&sfl=wr_subject||wr_content&stx=그누&sop=and

됩니다.

wr_subject와 wr_content에 그누라는 단어가 있는 게시물만 검색을 하게 됩니다...

================

제가 하려고 하는 것은

http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_1=그누1&wr_2=그누2

이렇게 하면 검색이 되게 하려고 합니다..


그래서 gnu3에서 사용하던 소스를 조금 수정해서...

bbs/list.php 파일에서






if ($sca || $stx)
{
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);

// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from $write_table ";
$row = sql_fetch($sql);
$min_spt = $row[min_wr_num];

if (!$spt) $spt = $min_spt;

$sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";

// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from $write_table where $sql_search ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);

추가 시작 부분
#########################################
} elseif ($car1 || $car2 || $car3)
{
$sql_search =" and ( ";
$sop = "";
if ($car1) {
$sql_search .= $sop . " (wr_1 like '%$car1%') ";
$sop = " and ";
}
if ($car2) {
$sql_search .= $sop . " (wr_2 like '%$car2%') ";
$sop = " and ";
}
if ($car3) {
$sql_search .= $sop . " (wr_3 like '%$car3%') ";
$sop = " and ";
}
$sql_search .= " ) ";


// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from $write_table ";
$row = sql_fetch($sql);
$min_spt = $row[min_wr_num];

if (!$spt) $spt = $min_spt;

$sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";

// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from $write_table where $sql_search ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);
################
추가 끝 부분
}
else
{
$sql_search = "";

$total_count = $board[bo_count_write];
}


이렇게 추가를 했습니다...


헌데 아래와 같이 오류가 뜹니다...

#################################3
select distinct wr_parent from g4_write_car_korea where and ( (wr_1 like '%기아%') ) and (wr_num between '-2' and '9998')

1064 : 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('and ( (wr_1 like '%기아%') ) and (wr_num between '-2' and '9998')' 명령어 라인 1)

error file : /~cjplus/bbs/board.php
##################################

car1 ,car2 , car3 는 위 이미지의 셀렉트 부분의 name 입니다..


고수님들의 조언 부탁드립니다...
|

댓글 2개

} elseif ($car1 || $car2 || $car3)
{
$sql_search =" and ( "; <= 무엇 AND 무엇인가요?
AND라면 2가지의 조건이 있어야겠죠...
AND를 빼주세요... 아니면 앞에 (1) 을 넣어주세요... (1) AND (...
g6man 감사합니다...
^^
해결되었습니다..
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
20년 전 조회 2,899
20년 전 조회 2,018
20년 전 조회 1,931
20년 전 조회 2,749
20년 전 조회 2,020
20년 전 조회 2,187
20년 전 조회 1,591
20년 전 조회 2,427
20년 전 조회 2,041
20년 전 조회 2,033
20년 전 조회 2,655
20년 전 조회 1,771
20년 전 조회 1,847
20년 전 조회 1,936
20년 전 조회 2,268
20년 전 조회 2,185
20년 전 조회 1,986
20년 전 조회 1,964
20년 전 조회 1,671
20년 전 조회 2,132
🐛 버그신고