andor

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

1771428566_ydcOD9Rwcz.webp1771429328_0rirM6PKl1.webp1771485844_sKrXIG9bt7.webp
- 참고사항 -

가격/날짜시간 입력 수정 후 변경을 원하는 날짜/시간 이후
관리자 페이지에 한번 접속 해 주시면 일괄 변경 됩니다.


사용 필드

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.

판매가격 인상 변경 수정 업데이트 리스트 관리자 
|
댓글을 작성하시려면 로그인이 필요합니다.

영카트5 팁자료실

+
제목 글쓴이 날짜 조회
1주 전 조회 42
1주 전 조회 101
2주 전 조회 79
2주 전 조회 83
2주 전 조회 87
2주 전 조회 172
3주 전 조회 98
1개월 전 조회 280
1개월 전 조회 408
2개월 전 조회 732
2개월 전 조회 690
3개월 전 조회 750
3개월 전 조회 936
4개월 전 조회 1,124
4개월 전 조회 706
4개월 전 조회 881
4개월 전 조회 1,012
4개월 전 조회 839
5개월 전 조회 882
5개월 전 조회 934
5개월 전 조회 1,028
5개월 전 조회 853
5개월 전 조회 831
5개월 전 조회 1,016
6개월 전 조회 999
6개월 전 조회 868
6개월 전 조회 1,160
6개월 전 조회 1,205
6개월 전 조회 983
7개월 전 조회 1,041