extend 폴더에 user.config.php 관련 질문 입니다. 채택완료

extend 폴더에 user.config.php

파일에 아래 내용을 추가 햇는데 왜 스크립트 같은데 오류가 나고

먼가 이상할까요?

Copy
// 작업의뢰 작업종료일 지나면 진행상태 자동으로 완료로 변경
$sql = " select * from tbl_order where order_date_to < '".date("Y-m-d")."' ";
$result_day_chk = sql_query($sql);

for ($i=0; $row=sql_fetch_array($result_day_chk); $i++) {
    
    sql_query( " update `tbl_order` set order_status = '완료' where order_id = '".$row['order_id']."' ");

}


// 최종 주문후 다음 주문이 없으면 휴면상태로
$sql = " select * from {$g5['g5_shop_order_table']} where mb_id = '{$member['mb_id']}' order by od_time desc limit 1 ";
$result_order = sql_fetch($sql);

$odtime = substr($result_order['od_time'],0,10);
$endDate = date("Y-m-d", strtotime($odtime." +30 days"));

if(date("Y-m-d") < $endDate) { // 만료일 전이면
    
    $member_status = '정상';

} else { // 만료일 지나면
    
    if($is_member) {
        $member_status = '휴먼';
    }

}

답변 4개

채택된 답변
+20 포인트
$sql = " select * from tbl_order where order_date_to < '".date("Y-m-d")."' ";
$result_day_chk = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result_day_chk); $i++) {
    
    sql_query( " update `tbl_order` set order_status = '완료' where order_id = '".$row['order_id']."' ");
}
이렇게 하지 마시고
    sql_query( " update `tbl_order` set order_status = '완료' where order_date_to < '".date("Y-m-d")."'");

이렇게 하시는 것이 더 효율적입니다.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

여러개가 될수 있어서 위에서 조건 맞는 order_id 를 돌릴려고 for문 썼거든요
잘못된 문법인가요?
extend 도 혹시 캐시 먹나요..? 음 ..
더 효율적이라는 겁니다.
limit가 없는 한 순서는 중요하지 않죠.

댓글을 작성하려면 로그인이 필요합니다.

extend폴더에 넣어서 사용하려면 저렇게 해서는 안됩니다

페이지를 열때마다 쿼리를 실행해서 디비를 조사하도록 하는 코드를 넣는 것은 엉터리입니다

하루에 한번만 실행 되도록 만드세요//검색해보면 답변에 있을 것입니다

첫번째 쿼리는 엑스엠엘님 답변대로 하되 하루 한번만 실행되게

기준날짜보다 작으면 완료로 변경해주면 되는데 한꺼번 처리 가능한 것을

하나씩 쿼리를 돌려서 처리할 이유가 없습니다

두번째 처리는 그누위즈님 답변대로 bbs/login_check.php 하단에 넣으세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

해당파일은 모든 페이지에서 실행되는 페이지 이므로

가능하면 로그인직후에 검사하는게 좋습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

<?php

로 시작하는 거 맞죠?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

네 당연하죠 ㅋㅋㅋ
문제될 문법이 있나요 ..?
오류 메시지를 적어 보세요.
디버깅에 오류 뜨는건 없구요.. 알럿창 뜰 경우도 아닌데 공백으로 알럿창이 뜨고 ajax 로 체크 하는게 없는 페이지에서 체크가 되고 그러네요.. 이런 일 첨이라..
잉? 지금은 또 아무 문제가 없네요..
이상하네.. 불안하게..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고