sql 출력 문제
본문
$sql = "select * from `g5_search` where remark1 = '{$list[$i]['wr_2']}' AND mb_id = '{$member["mb_id"]}' AND BETWEEN DATE_ADD('$today{$list[$i]['wr_4']}',INTERVAL -1 MONTH ) AND '$today{$list[$i]['wr_4']}'";
$res = sql_query($sql);
while($row=sql_fetch_array($res)){
$accIn[] = $row;
$basic = $row;
&today가 y-m- 으로 설정되어 있고 wr_4가 일로 되어 있을때 매월 wr_4에 지정일로 부터 최근 한달간 데이터를 가져오고 싶은데 출력이 안되네요 ㅠㅠ
!-->답변 5
$time1 = strtotime($today . $list[$i]['wr_4']);
$date1 = date('Y-m-d', strtotime('-1 month', $time1));
$date2 = $today . $list[$i]['wr_4'];
$sql = "
select *
from `g5_search`
where remark1 = '{$list[$i]['wr_2']}'
AND mb_id = '{$member['mb_id']}'
AND {날짜칼럼} BETWEEN '{$date1}' and '{$date2}'
";
우선 sql문을 echo로 찍어보셔서 어떻게 출력되는지랑 그 출력된걸 phpmyadmin에서 실행 시켜보시는건 어떨까요?.
today 라는 파라미터가 Y-m 구조로 되어있고
wr_4의 데이타에는 일자가 있는경우
그런데 한달간의 데이타를 가져와야할 기준이 없네요
그래서, 임의로 wr_datetime 을 기준으로 체크하면
<?php
$tomonth = $_REQUEST['today'];
$sql = "select * from `g5_search`
where remark1 = '{$list[$i]['wr_2']}'
AND mb_id = '{$member["mb_id"]}'
AND wr_datetime BETWEEN DATE_SUB(date(".$today."-".$list[$i]['wr_4']."), INTERVAL 1 MONTH ) AND date(".$today."-".$list[$i]['wr_4'].") ";
$res = sql_query($sql);
while($row=sql_fetch_array($res)){
...
날짜 범위 가 정상적으로 나온다면
WHERE DATE(날짜컬럼) BETWEEN '날짜1' AND '날짜2'
이렇게 하면되지 않을가요
만들어진 쿼리문을 올려보세요 아님 다른 조건 다빼고 날짜 부분만 만들어서 강제로 조회 해보고요
db 날짜 데이터 유형이라든지 하나씩 봐보세용
답변을 작성하시기 전에 로그인 해주세요.