잔여날짜 계산 질문요. 채택완료
PHP는 아얘 모르고 HTML좀 할줄아는데요.
시작일과 만료일이 있어. 남은기간이 노출됩니다. 기간이 끝나면 0 으로 나와야 하는데.
만료일로부터 오늘날자까지로 다시 카운팅 됩니다.
아래 코드를 보니.
시작일(st_date) , 만료일(sp_date) , 남은기간(limit_days)
이렇게 있어서 남은기간 디데이 7일부터 컬러를 #ff0000로 변경해라 이뜻인거 같은데요.

이건 정상적으로 나오는데.

이건 4일이나 지났으니 "0" 또는 "-" 로 나오게 할수 있을까요??
Copy
<?php for($i=0;$i<count($item);$i++) { ?>
<?php for($k=0;$k<count($item[$i]['opt']); $k++) { ?>
<?php
$ct = sql_fetch("SELECT * FROM g5_shop_cart WHERE od_id = '".$od_id."' ");
$ms = sql_fetch("SELECT * FROM member_service WHERE od_id = '".$od_id."' ORDER BY ms_no DESC LIMIT 1");
// 잔여기간
$st_date = new DateTime(date("Y-m-d", time()));
$sp_date = new DateTime($ms['sp_date']);
$diff = date_diff($st_date, $sp_date);
$limit_days = $diff->days;
if($limit_days == "0") {
$limit_days = "-";
} else if($limit_days < "7") {
$limit_days = "<span style='color:#ff0000;'>".$limit_days."</span>";
}
?>
<tr>
<td class="text-center">
<div class="item-img">
<?php echo get_it_image($item[$i]['it_id'], 50, 50); ?>
<div class="item-type"><?php echo $item[$i]['pt_it']; ?></div>
</div>
</td>
<td class="text-center"><a href="./item.php?it_id=<?php echo $item[$i]['it_id']; ?>"><strong><?php echo $item[$i]['it_name']; ?></strong></a></td>
<td class="text-center"><?php echo $item[$i]['opt'][$k]['ct_option']; ?></td>
<td class="text-center"><?php echo number_format($item[$i]['opt'][$k]['sell_price']); ?></td>
<td class="text-center"><?=$ms['st_date']?></td>
<td class="text-center"><?=$ms['sp_date']?></td>
<td class="text-center"><?=$limit_days?></td>
<td class="text-center"><?php echo $item[$i]['opt'][$k]['ct_status']; ?></td>
<td class="text-center"><?=ms_stats($ms['ms_no'])?></td>
</tr>
<?php } ?>
<?php } ?>
답변 3개
채택된 답변
+20 포인트
4년 전
Copy
if($limit_days <= "0") {
$limit_days = "0";
} else if($limit_days < "7") {
$limit_days = "<span style='color:#ff0000;'>".$limit_days."</span>";
}
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
4년 전
4년 전
블랑숑님 시간 내주시어 대댓 답변 감사합니다. 아래 답변 추가 적용해보았는데. 별 반응이 없네요. ;; PHP겁네 어렵네요 ㅎㅎ
4년 전
그죠;;; 남은기간이 지났으면 "0" 이나 -1, -2 처럼 음수가 나올지 알았는데. 다시 1,2,3,4일로 카운팅이 ... ㅎㅎ 답변 주신 코드를 다 빼고 테스트 했는데. 남은기간 변화없이 숫자 컬러만 기본컬러로 변하네요.. 코딩하시는 분들 대단하신듯 하네요 ㅎㅎ
댓글을 작성하려면 로그인이 필요합니다.
4년 전
$diff = date_diff($st_date, $sp_date, true);
이렇게 해 보세요.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
4년 전
답변 감사합니다. 위 내용처럼 true 추가 적용했는데. 변화는 없네요. 그래도 답변 감사합니다.
링크는 제겐 너무 어려운 내용이라,, ㅎㅎ 너무 까막눈 같아서. 천천히 PHP공부좀 해보고싶네요,
링크는 제겐 너무 어려운 내용이라,, ㅎㅎ 너무 까막눈 같아서. 천천히 PHP공부좀 해보고싶네요,
댓글을 작성하려면 로그인이 필요합니다.
4년 전
오늘날짜 기준의 변수 만들어서 만료일과 오늘날짜변수랑 비교해서 값을 0이나 -로 하면되지않을까요
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
4년 전
답변 감사합니다. 뭔간 한끗차로 오류가 있을 줄 알았는데 그게 아닌가 보네요 ㅎㅎ PHP까막눈이라. 변수를 만들진 못하지만. 점점더 PHP배워보고 싶네요 ㅎ
4년 전
https://yujuwon.tistory.com/entry/PHP-%ED%98%84%EC%9E%AC-%EB%82%A0%EC%A7%9C-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0
여기 참고하셔서 변수 만들어서 비교한번 해보셔용
여기 참고하셔서 변수 만들어서 비교한번 해보셔용
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
위에 이미지 처럼, 만료일이 6월27일이면 이미 만료가 된거라. "0"또는"-" 이런게 나와야 하는데.
오늘 날짜를 기점으로 4일이 뜨네요 ㅠㅠ