item.skin.php 에서 정상출력되는데 값이 무조건 0으로 출력됩니다.
본문
<?php echo $row['it_cust_price3']; ?> <<<<< 금액
<?php echo $row['it_cust_price_start']; ?> <<<<<<시작날짜
<?php echo $row['it_cust_price_end']; ?> <<<<<<종료날짜
8990000원 은 금액 입니다.
2022-05-13 00:00:00 은 시작날짜 입니다.
2022-05-13 18:00:00 은 종료날짜 입니다.
item.skin.php 에서 아무리 해도 값이 0으로 나와요. 종료전 인데두요.
이전 글에서 도와주셨는데 아무리해도 안되서 계속 여쭈어보기가 너무 죄송해서요.
다시 글을 작성하게 되었서요.
하틴님께서 도움주셨습니다.
<?php
$timenow = date("Y-m-d H:i:s"); //오늘날짜
$timetarget = $row['it_cust_price_end']; //종료일
$str_now = strtotime($timenow);
$str_target = strtotime($timetarget);
if($str_now > $str_target) {
$row['it_cust_price3'] = 0;
}
echo $row['it_cust_price3'];
?>
그런데 값이 무조건 종료일 전인데두 계속 0 입니다.
방법이 있을까요? 너무 프로그램은 어려워요 ㅠㅠ
답변 3
item.form.skin.php <--- 이것이 맞겠죠?
and(&&)를 써야할지 or(||)를 써야할지 구분을 해야죠
if ($row['it_cust_price_start'] <= G5_TIME_YMDHIS && G5_TIME_YMDHIS <= $row['it_cust_price_end'])
<==현재시각이 시작시각보다 크고 현재시각이 종료시각 보다 작으면 어떤 상황이겠어요?
원하는 조건이 적용되는 시각에 들어가는거죠. 그런데 echo 0;을 하니 되겠어요?
그리고 item.form.skin.php에서는 $it 배열을 사용 합니다
지정된 시각을 벗어나면 0 아니면 정상가 출력
--현재 시각이 시작 시각 보다 작거나 현재시각이 종료 시각을 지났으면 0
if ($it['it_cust_price_start'] > G5_TIME_YMDHIS || G5_TIME_YMDHIS > $it['it_cust_price_end'])
echo '0';
else
echo $row['it_cust_price2'];
이전 단계에서 값을 제대로 받아오는지부터 채크해보세요.
$timetarget = $row['it_cust_price_end']; //종료일
$str_now = strtotime($timenow);
$str_target = strtotime($timetarget);
if($str_now > $str_target) {
부등호도 반대로 해야 하고, ...
종료일과 비교하는데 시작일도 비교를 해야죠.
이전 질문에 제 댓글을 참고하세요.