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

between 응용 검색 질문입니다. 채택완료

humanb2box 6년 전 조회 2,492

2018-12-14 라는 데이터를

 

wr_1에서도 찾아야하고,

 

wr_4에서도 찾아야 합니당..

 

if (preg_match("/[0-9]/", $search_str)) $str .= "and  wr_1 <= '$search_str' and wr_4 >= '$search_str' ";

 

이렇게 했더니 아무것도 안나오네요..

 

between은 도저히 문법이 안나와요 ㅠㅠ

어떻게 하면 좋을까용..

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

답변 3개

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

between은 필드 하나에서 기간을 찾는 겁니다.

지금 찾으시려는게 필드가 2개니 각각 찾으셔서 and 를 하시거나 or 을 하시거나 하심 될거 같네요.

 

https://zetawiki.com/wiki/MySQL_datetime_%EB%82%A0%EC%A7%9C%EB%A1%9C_%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0

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

답변에 대한 댓글 2개

h
humanb2box
6년 전
응용이라는게 아니군요,, 허허,, 이거 어쩌지.. ㅠ 안되네요 도무지 안푸려요
핫워드
6년 전
@humanb2box 아래 @티로그 님 답변처럼 해 봐보세요. 답글 달면서도 배우는 기회가 많네요.

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

티로그
6년 전

https://okky.kr/article/299320?note=996372

에서 보니 - 있으면 between 은 안된다고 합니다.

wr_1 이 시작일 wr_4가 종료일 이면 

적어놓으신 아래 코드로도 실행됩니다.

$str .= "and  wr_1 <= '$search_str' and wr_4 >= '$search_str' ";

phpmyadmin 에서 데이타 입력후 

http://tloghost.kr/tl_pma/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/select.html" target="mysql_doc">SELECT * FROM `g5_write_free` WHERE wr_1 <= '2018-12-14' http://tloghost.kr/tl_pma/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/logical-operators.html#operator_and" target="mysql_doc">and wr_4 >= '2018-12-14'

위의 쿼리문 실행하면 데이타 나옵니다.

쿼리문 echo 로 찍어서 phpmyadmin에서 실행해보시면 원인 알수 있을것 같습니다.

 

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

답변에 대한 댓글 1개

h
humanb2box
6년 전
네 ㅠ phpmyadmin 에서는 작동을 하느데

리스트 검색에 적용했을땐 안되네용....

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

티로그
6년 전

$str .= " and  (wr_1 = '$search_str' or wr_4 = '$search_str' ) ";

으로 하시면 될거 같습니다.

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

답변에 대한 댓글 1개

h
humanb2box
6년 전
안됩니당 ㅠㅠ

사잇값을 구해야되느데 ㅠ

예를 들어

1번게시글의
wr_1 = 2018-12-13
wr_4 = 2018-12-16

이라고 적혀있다면

2018-12-14를 해도 1번 게시글이 나오게 하고싶은거에요 ㅠㅠ

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

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

로그인