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'];
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
$timetarget = $row['it_cust_price_end']; //종료일
$str_now = strtotime($timenow);
$str_target = strtotime($timetarget);
if($str_now > $str_target) {
부등호도 반대로 해야 하고, ...
종료일과 비교하는데 시작일도 비교를 해야죠.
이전 질문에 제 댓글을 참고하세요.
답변에 대한 댓글 6개
if ($row['it_cust_price_start'] >= G5_TIME_YMDhis && G5_TIME_YMDhis >= $row['it_cust_price_end'])
echo '0';
else
echo $row['it_cust_price3'];
?>
이렇게도 해봤는데 값은 0 으로 나와요. >< 전부 변경도 해봤는데 이상해요. ㅜ___ㅜ
echo $row['it_cust_price_start'],'<br />';
echo $row['it_cust_price_end'],'<br />';
echo G5_TIME_YMDhis ,'<br />';
이렇게 해서 어떤 값이 나오나요?
<?php echo $it['it_cust_price_start']; ?> <br />
<?php echo $it['it_cust_price_end']; ?><br />
<?php
echo $row['it_cust_price_start'],'<br />';
echo $row['it_cust_price_end'],'<br />';
echo G5_TIME_YMDhis ,'<br />';
if ($row['it_cust_price_start'] <= G5_TIME_YMDHIS && G5_TIME_YMDHIS <= $row['it_cust_price_end'])
echo '0';
else
echo $row['it_cust_price2'];
?>
이렇게 입력해 보았습니다.
8990000
2022-05-13 00:00:00
2023-05-13 18:00:00
G5_TIME_YMDhis
이렇게만 출력됩니다.
G5_TIME_YMDhis
상수가 없나 보군요.
G5_TIME_YMDhis 대신에
date( 'Y-m-d H:i:s')로 바꾸어서 해 보세요.
넣으닌깐 시간이 현재시간으로 나와요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인