item.skin.php 에서 정상출력되는데 값이 무조건 0으로 출력됩니다.

item.skin.php 에서 정상출력되는데 값이 무조건 0으로 출력됩니다.

QA

item.skin.php 에서 정상출력되는데 값이 무조건 0으로 출력됩니다.

본문

<?php echo $row['it_cust_price3']; ?>  <<<<< 금액

<?php echo $row['it_cust_price_start']; ?> <<<<<<시작날짜
<?php echo $row['it_cust_price_end']; ?>   <<<<<<종료날짜

 

3554155554_1652429908.0362.png

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 입니다.

3554155554_1652430559.4413.png

 

방법이 있을까요? 너무 프로그램은 어려워요 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 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'];

이전 단계에서 값을 제대로 받아오는지부터 채크해보세요.

쿠폰이라는곳이 값이 불러와지는지 안불러와 지는지 테스트 한곳입니다.
현재 <?php echo $row['it_cust_price3']; ?> , <?php echo $row['it_cust_price_start']; ?> , <?php echo $row['it_cust_price_end']; ?> 전부 재대로 불러와 집니다.

    $timetarget = $row['it_cust_price_end']; //종료일

    $str_now = strtotime($timenow);
    $str_target = strtotime($timetarget);

    if($str_now > $str_target) {

부등호도 반대로 해야 하고, ...

종료일과 비교하는데 시작일도 비교를 해야죠.

이전 질문에 제 댓글을 참고하세요.

<?php
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 으로 나와요. >< 전부 변경도 해봤는데 이상해요. ㅜ___ㅜ

<?php echo $it['it_cust_price2']; ?><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
이렇게만  출력됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 15,054
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIR SOFT