여분필드 초기화
본문
여분필드 초기화 질문드립니다
mb_1 에 날짜가 들어가는데 해당 날짜가 지나게되면 초기화되게끔 하고싶습니다
크론탭으로 해야한다고 하는데 웹호스팅 사용중입니다
웹호스팅에서는 크론탭을 사용못하게되어있는것같아서
https://cron-job.org/en/ 외부적으로 크론탭을 실행할수있는게 있다고하여
사용해보려고하는데 어떤식으로 해야하는건지 감이 안잡히네요...ㅠ
해당방법 말고도 다른방법이 있다면 답변부탁드립니다.
답변 6
1. /init.php 생성
<?php
include_once "common.php";
$today = date('Y-m-d');
$sql = "
update {$g5['member_table']}
set mb_1 = ''
where mb_1 > ''
and mb_1 < {$today}
";
sql_query($sql);
echo '!';
2. 브라우저 실행 > ~/init.php 접속 > 잘 처리되었는지 db 에서 확인
3. cron-job.org 에 작업 등록
URL : ~/init.php
실행 스케쥴 : 매일 0시 10분
!-->크론 필요없습니다. 누군가 접속하면 초기화를 한번 하면 됩니다
extend/default.config.php 또는 extend/user.config.php 둘 중 하나가 있으면 다음 내용을 넣으세요
$today = G5_TIME_YMD;
if($config['cf_1'] !=$today ){ //하루에 한번만 처리
sql_query("update {$g5['config_table']} set cf_1='$today' ");
sql_query("update {$g5['member_table']} set mb_1='' where mb_1<='$today' ");
}
초기화 시키는 파일을 만들어서 서버에 업로드 합니다.
예를 들어 root에 abc.php(초기화 코드가 작성된 파일) 파일을 업로드 했다면
해당 파일의 경로는 도매인/abc.php 이고,
cron-job에서 스케쥴을 생성하시고, URL에 도매인/abc.php 를 적어주시면 됩니다.
예를 들어 다음과 같이 해 볼 수 있을 것 같습니다.
<?php
// 파일: reset_variable.php
// 변수 초기화
$mb_1 = date("Y-m-d"); // 현재 날짜로 초기화
// 여기에 초기화해야 할 다른 작업들을 추가할 수 있습니다.
// 결과 출력 (테스트용)
echo "변수 초기화가 완료되었습니다. mb_1 = $mb_1";
?>
1. cron-job.org에 로그인
2. 대시보드에서 "Add new cronjob" 또는 유사한 버튼을 클릭.
3. 크론 표현식으로 0 0 * * *을 설정하여 매일 자정에 실행되도록 함.
4. 실행할 명령으로 php /path/to/reset_variable.php를 입력함. 경로는 실제 파일 경로로 수정되어야 함,
5. 옵션을 설정하거나 테스트를 진행한 후, 저장합니다.
이렇게 하면 설정된 주기에 따라 초기화가 되지 않을까 합니다.
!-->크론탭 방식 보다는 로그인한 member 의
개별row 만 업데이트 해주는 방식을 추천드립니다.