채택완료

between 응용 검색 질문입니다.

2018-12-14 (금) 15:49:45 2,765

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개 / 댓글 4개

채택된 답변
+20 포인트

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개

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

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

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

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

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

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

phpmyadmin 에서 데이타 입력후 

SELECT * FROM `g5_write_free` WHERE wr_1 <= '2018-12-14' and wr_4 >= '2018-12-14'

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

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

답변에 대한 댓글 1개

네 ㅠ phpmyadmin 에서는 작동을 하느데

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

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

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

답변에 대한 댓글 1개

안됩니당 ㅠㅠ

사잇값을 구해야되느데 ㅠ

예를 들어

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

이라고 적혀있다면

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

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