테스트 사이트 - 개발 중인 베타 버전입니다

기간별 검색 기능 도움이 필요합니다. 채택완료

시로님 9년 전 조회 2,458

$sql = " SELECT * FROM g5_write_sub03_02 where wr_is_comment = 0 and wr_6 <> '완료' ";

 

if($member['mb_level']=='10'){

    $sql_where ="";

}else if($member['mb_level']=='7'){

    $sql_where =" and wr_subject = '".$member['mb_4']."' ";

}else if($member['mb_level']=='5'){

    $sql_where =" and wr_subject = '".$member['mb_4']."' and wr_5 = '".$member['mb_nick']."' ";

}

 

if($_GET['sfl']){

    $sfl = mysql_escape_string($_GET['sfl']);

    $stx = mysql_escape_string($_GET['stx']);

    $sql_sch = " and ".$sfl." like '".$stx."%' ";

}

 

$sql_order = " order by wr_num desc "; 

 

 

$sql .= $sql_where;

$sql .= $sql_sch;

//$sql .= $sql_search;

$sql .= $sql_order;

 

//echo $sql; 

//exit; 

 

$sql_cnt = " SELECT count(*) as cnt FROM g5_write_sub03_02 where wr_is_comment = 0 and wr_6 <> '완료' ";

$sql_cnt .= $sql_where;

$sql_cnt .= $sql_sch;

//$sql_cnt .= $sql_search;

 

현재 common.lib.php에서 셀렉트로 날짜를 불러오는 

<?=date_select($today, $name="sdate") ?> ~ <?= date_select($today, $name="edate")?> 

 

이런식으로 불러왔습니다.

 

기간별로 검색하기 위해 

 

$sql_search = " and wr_datetime between '{$fr_date}' and '${$to_date}'"; 

 

를 써서 넣어줘봤는데 안됩니다... 쿼리문이 잘못되었는지 기존의 내용도 db에서 불러오질 못합니다. 

 

$fr_date , $to_date 부분이 사실 검색해서 그대로 넣은거라 

 

제가 따로 변수로 설정해야 하는건지, 저부분엔 어떻게 값을 넣어줘야 하는지 궁금합니다.

 

제 생각에는 저곳만 고치면 될것같은데 혹시 다른부분에도 문제가 있으면 지적좀 해주세요ㅠ

 

 

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
9년 전

검색이안되면 쿼리문제겠죠.

쿼리 echo찍어서 쿼리문으로 돌려보세여.

쿼리문이 맞는지 확인하실려면 전체 쿼리문을 올려보세여 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

시로님
9년 전
전체 쿼리는 맞습니다.
기존의 것에 제가 기간검색소스만 넣는거라서..
전혀 감이 안잡히네요;

댓글을 작성하려면 로그인이 필요합니다.

$sql_search .= " and wr_datetime between '{$fr_date}' and '${$to_date}'";

혹시 앞에 . 빠진 거 아닌가요?

and가 붙어 있으면 반드시 앞에 무언가가 있단 건데 저걸 연결 안 하고 그냥 대입을 했으니 쿼리에선 오류가 날 겁니다.

 

오타라면 제일 마지막에서 echo $sql_search 이걸 찍어 보셔야 할 것 같습니다. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인