Copy
$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개 / 댓글 8개
채택된 답변
+20 포인트
마르스컴퍼니
4년 전
Copy
$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}'
";
답변에 대한 댓글 2개
익수야가자
4년 전
echo $date1;
echo $date2;
에코로 불러내면 정상적으로 날짜가 기준일 부터 1달전과 한달 후가 나오는데 출력이 되질 않네요 ㅠㅠ
echo $date2;
에코로 불러내면 정상적으로 날짜가 기준일 부터 1달전과 한달 후가 나오는데 출력이 되질 않네요 ㅠㅠ
포인트적립
4년 전
만들어진 쿼리문을 올려보세요 아님 다른 조건 다빼고 날짜 부분만 만들어서 강제로 조회 해보고요
db 날짜 데이터 유형이라든지 하나씩 봐보세용
답변에 대한 댓글 3개
익수야가자
4년 전
<?php for ($i=0; $i < count($list); $i++) {
$time1 = strtotime($today.$list[$i]['wr_3']);
$date1 = date('Y-m-d', strtotime('-1 month', $time1));
$date2 = $today.$list[$i]['wr_3'];
$sql = "select * from `g5_search` where mb_id = '{$member["mb_id"]}' AND remark1 = '{$list[$i]['wr_2']}' AND DATE(trdate) BETWEEN '{data1}' AND '{data2}'";
$res = sql_query($sql);
while($row=sql_fetch_array($res)){
$accIn[] = $row;
$basic = $row;
}
$time1 = strtotime($today.$list[$i]['wr_3']);
$date1 = date('Y-m-d', strtotime('-1 month', $time1));
$date2 = $today.$list[$i]['wr_3'];
$sql = "select * from `g5_search` where mb_id = '{$member["mb_id"]}' AND remark1 = '{$list[$i]['wr_2']}' AND DATE(trdate) BETWEEN '{data1}' AND '{data2}'";
$res = sql_query($sql);
while($row=sql_fetch_array($res)){
$accIn[] = $row;
$basic = $row;
}
익수야가자
4년 전
$sql = "select * from `g5_search` where mb_id = '{$member["mb_id"]}' AND remark1 = '{$list[$i]['wr_2']}' AND DATE(trdate) BETWEEN '2021-05-14' AND '2021-06-14'";
이렇게 수기로 작성하면 나오긴 하는데
이렇게 수기로 작성하면 나오긴 하는데
4년 전
$sql = "select * from `g5_search` where mb_id = '{$member["mb_id"]}' AND remark1 = '{$list[$i]['wr_2']}' AND DATE(trdate) BETWEEN '{$data1}' AND '{$data2}'";
data1,2에 $가 빠졌네요.
data1,2에 $가 빠졌네요.
포인트적립
4년 전
날짜 범위 가 정상적으로 나온다면
WHERE DATE(날짜컬럼) BETWEEN '날짜1' AND '날짜2'
이렇게 하면되지 않을가요
답변에 대한 댓글 1개
4년 전
today 라는 파라미터가 Y-m 구조로 되어있고
wr_4의 데이타에는 일자가 있는경우
그런데 한달간의 데이타를 가져와야할 기준이 없네요
그래서, 임의로 wr_datetime 을 기준으로 체크하면
Copy
<?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)){
...
답변에 대한 댓글 1개
4년 전
우선 sql문을 echo로 찍어보셔서 어떻게 출력되는지랑 그 출력된걸 phpmyadmin에서 실행 시켜보시는건 어떨까요?.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.