검색조건 질문드립니다.
본문
안녕하세요
게시판 리스트에서 날짜 검색을 하고 있습니다.
bbs/list.php 에
else if ($t_start || $t_end)
{
$sql_search = "wr_5 >= '$t_start' && wr_5 <= '$t_end'";
~~~
else if ($t_start || $t_end){
$sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
~~~~
이렇게 넣구
리스트 폼 에서는
<input type=t_start id=datepicker_from name='t_start' itemname='시작일' value='<?=$t_start?>'>
<input type=t_end id=datepicker_to name='t_end' itemname='마지막일' value='<?=$t_end?>'>
<button>검색하기</button>
이렇게 사용중입니다.
저기서 한가지 더 조건식을 넣구 싶습니다.
게시판 작성할때 wr_10에 작성자가 원하는 회원 아이디명을 기재합니다.
작성자가 wr_10에 회원 아이디(test)를 적고
test라는 아이디를 가지고 있는 사람이 게시판에 접속하면
그 사람의 아이디가 지명된 게시물만 나오게 하고 싶습니다..ㅎ
고로... wr_10에 맞는 작성자 아이디가 쓴 날짜가 함께 검색되게 하고 싶습니다.
그냥 뒤에 mb_id 로 검색하게 해도 될 것 같네요..ㅎ
폼에 같이
<input type='hidden' id='wr_10' name='wr_10' value='test'>
이런식으로 히든으로 넣고
list.php 에서
$sql_search = "wr_5 >= '$t_start' && wr_5 <= '$t_end'";
이부분에 wr_10관련 넣으면 될 것 같은데
도통 감이 안잡힙니다..ㅠ
혹시 알고 계신분있으시면 힌트라도 던저주고 가주세요
감사합니다^^
!-->!-->답변 1
SQL 은 && 문이 없습니다.
$sql_search = "wr_5 >= '$t_start' && wr_5 <= '$t_end'";
를 처리하시려면
$sql_search = "wr_5 >= '$t_start' and wr_5 <= '$t_end'";
로 하셔야 하고
wr_10에 id가 들어간다는 이야기신거 같은데
글쓴이의 ID는 mb_id로 이미 존재합니다.
-------
정리해서 글쓴이의 ID 와 시작, 종료일을 검색하신다는것으로 인지하고
1. 작성자id를 wr_10에 넣어서 wr_10으로 검색어를 받은경우
$sql_search = " wr_5 between '{$t_start}' and '{$t_end}'
and wr_10 = '{$wr_10}' ";
2. 또는 : 작성자가 mb_id값에 있는경우
$sql_search = " wr_5 between '{$t_start}' and '{$t_end}'
and mb_id = '{$mb_id}' ";
3. 또는 : wr_10 이 입력받은 검색어일경우
$sql_search = " wr_5 between '{$t_start}' and '{$t_end}'
and mb_id = '{$wr_10}' ";
의 형태로 사용하시면 됩니다.
날짜의 범위조건은 C between A and B 구조의 검색이 있습니다.
C를 A부터 B까지
위의 쿼리에 보강해야 할것들이 있지만
일단 쿼리문 작성자체만 설명드리면 위와 같습니다.