잔여날짜 계산 질문요.
본문
PHP는 아얘 모르고 HTML좀 할줄아는데요.
시작일과 만료일이 있어. 남은기간이 노출됩니다. 기간이 끝나면 0 으로 나와야 하는데.
만료일로부터 오늘날자까지로 다시 카운팅 됩니다.
아래 코드를 보니.
시작일(st_date) , 만료일(sp_date) , 남은기간(limit_days)
이렇게 있어서 남은기간 디데이 7일부터 컬러를 #ff0000로 변경해라 이뜻인거 같은데요.
이건 정상적으로 나오는데.
이건 4일이나 지났으니 "0" 또는 "-" 로 나오게 할수 있을까요??
<?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
if($limit_days <= "0") {
$limit_days = "0";
} else if($limit_days < "7") {
$limit_days = "<span style='color:#ff0000;'>".$limit_days."</span>";
}
오늘날짜 기준의 변수 만들어서 만료일과 오늘날짜변수랑 비교해서 값을 0이나 -로 하면되지않을까요
$diff = date_diff($st_date, $sp_date, true);
이렇게 해 보세요.
답변을 작성하시기 전에 로그인 해주세요.