1원 짜리 팁. 판매가격 인상시 미리 입력 후 지정된 날짜 시간에 시원하게 바꾸기.



- 참고사항 -
가격/날짜시간 입력 수정 후 변경을 원하는 날짜/시간 이후
관리자 페이지에 한번 접속 해 주시면 일괄 변경 됩니다.
사용 필드
it_price_next: 인상(변경)될 예정 가격 (숫자형)
it_price_at: 가격이 변경될 날짜와 시간 (DATETIME형)
DB 테이블 추가해 주세요.
ALTER TABLE g5_shop_item ADD it_price_next INT(11) NOT NULL DEFAULT 0;
ALTER TABLE g5_shop_item ADD it_price_at DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
=======================================
adm/shop_admin/itemlist.php
<td class="td_num">
<label for="it_price_<?php echo $i; ?>" class="sound_only">판매가격</label>
<input type="text" name="it_price[<?php echo $i; ?>]" value="<?php echo $row['it_price']; ?>" id="it_price_<?php echo $i; ?>" class="frm_input" size="8">
<!-- 여기서부터 추가: 예정가와 시간 -->
<div style="margin-top:7px; padding-top:5px; border-top:1px dashed #bbb;">
<input type="text" name="it_price_next[<?php echo $i; ?>]" value="<?php echo $row['it_price_next']; ?>" class="frm_input" size="8" placeholder="예정가" style="background-color:#fffdf0">
<br>
<input type="datetime-local"
name="it_price_at[<?php echo $i; ?>]"
value="<?php echo (empty($row['it_price_at']) || substr($row['it_price_at'], 0, 10) == '0000-00-00') ? '' : str_replace(' ', 'T', $row['it_price_at']); ?>"
class="frm_input"
style="width:115px; font-size:11px; margin-top:3px;">
</div>
</td>
위에 필드로 추가한 항목이 입력 되도록 넣어 줍니다.
=======================================
adm/shop_admin/itemlistupdate.php
if ($is_admin != 'super') { // 최고관리자가 아니면 체크
$sql = "select a.it_id, b.ca_mb_id from {$g5['g5_shop_item_table']} a , {$g5['g5_shop_category_table']} b where (a.ca_id = b.ca_id) and a.it_id = '$p_it_id'";
$checks = sql_fetch($sql);
if( ! $checks['ca_mb_id'] || $checks['ca_mb_id'] !== $member['mb_id'] ){
continue;
}
}
// 체크된 항목의 실제 인덱스 번호를 가져옴
$k = $_POST['chk'][$i];
$sql = "update {$g5['g5_shop_item_table']}
set ca_id = '".sql_real_escape_string($p_ca_id)."',
ca_id2 = '".sql_real_escape_string($p_ca_id2)."',
ca_id3 = '".sql_real_escape_string($p_ca_id3)."',
it_name = '".$p_it_name."',
it_cust_price = '".sql_real_escape_string($p_it_cust_price)."',
it_price = '".sql_real_escape_string($p_it_price)."',
it_price_next = '".sql_real_escape_string($_POST['it_price_next'][$k])."',
it_price_at = '".sql_real_escape_string($_POST['it_price_at'][$k])."',
it_stock_qty = '".sql_real_escape_string($p_it_stock_qty)."',
it_skin = '".sql_real_escape_string($p_it_skin)."',
it_mobile_skin = '".sql_real_escape_string($p_it_mobile_skin)."',
it_use = '".sql_real_escape_string($p_it_use)."',
it_soldout = '".sql_real_escape_string($p_it_soldout)."',
it_order = '".sql_real_escape_string($p_it_order)."',
it_update_time = '".G5_TIME_YMDHIS."'
where it_id = '".$p_it_id."' ";
sql_query($sql);
로 변경해 줍니다.
=======================================
adm/shop_admin/_common.php
// 1. 현재 시간 (서버 시간 기준)
$now_time = date('Y-m-d H:i:s');
// 2. 예약된 상품이 있는지 먼저 확인
$check_sql = " SELECT count(*) as cnt FROM {$g5['g5_shop_item_table']}
WHERE it_price_next > 0
AND it_price_at > '0000-00-00 00:00:00'
AND it_price_at <= '$now_time' ";
$row = sql_fetch($check_sql);
if($row['cnt'] > 0) {
// 3. 조건이 맞으면 한꺼번에 업데이트
$sql_auto = " UPDATE {$g5['g5_shop_item_table']}
SET it_price = it_price_next,
it_price_next = 0,
it_price_at = '0000-00-00 00:00:00'
WHERE it_price_next > 0
AND it_price_at > '0000-00-00 00:00:00'
AND it_price_at <= '$now_time' ";
sql_query($sql_auto);
}
-이상-
예정가와 시간 / 추가 수정 해놨습니다. 02261934.
판매가격 인상 변경 수정 업데이트 리스트 관리자
|
댓글을 작성하시려면 로그인이 필요합니다.