설정 시간이 지나면 자동으로 분류가 변경되게 할수있을까요?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
설정 시간이 지나면 자동으로 분류가 변경되게 할수있을까요?

QA

설정 시간이 지나면 자동으로 분류가 변경되게 할수있을까요?

본문

이벤트 게시판 스킨을 만들고 있습니다.

진행중 | 종료

두개의 분류로 되어있구요.

마감시간을 wr_1에 저장해놓고 현재시간이 마감시간을 지나면 자동으로 글의 분류가 종료로 넘어가게 하고 싶습니다.

예를 들어 wr_1 의 값이 10:00 이라면 정확히 10:00 이 되면 분류가 종료로 넘어가게 할수있을까요?

 

이 질문에 댓글 쓰기 :

답변 5

원리는 간단합니다.

1분마다 서버에서 할 필요도없고,

사용자가 누구던 접속을 할때에,

그 내용이 갱신되면 되는겁니다.

꼭 10시에 분류가 바껴야한다고 고정관념으로 생각하지마시고,

10시 40분에 누가 접속하고, 그 타이밍에 분류를 교체하더라도

그때 접속한 유저는 10시에 마감이되었다고 보이지, 10시 40분에 마감이되었다 보이지않을겁니다.

extend/user.config.php 파일을 만들어서

해당 게시물을 select 하고, 마감시간이 현재보다 과거라면

분류를 교체하는 쿼리를 실행하시면 간단합니다.

잘 이해가 안되서요. 10시 마감일 경우 첫 유저가 10시 40분에 접속을 하면 db에서 분류를 업데이트 한다는 말씀이신가요? 그러면 다음 유저가 10시 50분에 접속하면 분류는 이미 업데이트 되어있는 상태일까요?
그런데 중요한건 제가 extend/user.config.php 어떻게 만들지 감도 안오네요 ㅠㅠ
extend 는 개념도 없어서...

맞습니다.
10시 마감일 경우, 다음 접속 유저가 10시 40분에 접속했다면,
그 타이밍에 db에서 분류를 업데이트 해주면되고,
그 유저도 해당 이벤트는 마감으로 보일테고,
그 이후에 접속한 유저도 당연히 마감으로 보일겁니다.
해당 코드는 별도로 만들어 드리기 어려운점 양해부탁드립니다.

wr_1 의 값이 10:00 이라면 정확히 10:00 이 되면 <===굳이 이렇게 할 필요가 없습니다
위와 같이 지정된 시간을 찾아내서 변경하려면 크론으로 일정 시간마다 체크를 해야 하겠으나
웹호스팅에서는 크론을 사용할 수도 없거니와 그렇게 할 이유가 없겠습니다
실시간으로 다른 곳에서 API같은 것으로 내용을 추출해가는 것이 아니라면 굳이 시각에 
딱 맞추어 변경해야할 이유가 없습니다

 

누군가(봇포함해서) 홈페이지에 접속하면 그 시점에 wr_1 값을 체크해서 변경해주면 됩니다
10:00로 지정 되어 있어도 11시에 누군가 접속해서 wr_1 시각 체크 후 변경을 하면
설정시각 10시에 변경되었는지 방금 변경 되었는지 누가 알겠어요?

 

wr_1에 등록 되는 시각이 어떤 값들인지 정확한 예시가 필요 합니다
10:00. 10:01, 10:02, 10:20, 10:50~~~~이런식으로 일정한 규칙이 없다면
매분마다 체크해서 변경해야 하니 디비 부하문제가 생기겠습니다

등록 되는 시각을 10분, 20분,30분 단위 등으로 설정해서
조건에 맞게 입력하도록 하면 체크 간격을 늘려서 부하를 줄일 수 있겟습니다


그리고 시각을 시:분 형식으로 등록하면 23:00 등록에 대해서 다음날 01:30에 체크 하려면 
복잡해지니 년월일시분(2014-04-12 13:30)형식으로 등록하는 것이 좋겠습니다

30분 단위로 조건을 만든다면 다음처럼 합니다

extend 폴더에 화일을 하나 만듭니다( event_change.php)


<?php
$ctime = G5_SERVER_TIME;
$currd = substr(G5_TIME_YMDHIS, 0,16);
if( G5_SERVER_TIME - $config['cf_1'] > 1800){
 sql_query("update $g5['config_table'] set cf_1='$ctime' ");
 $event_table= $g5['write_prefix'].'event';
 sql_query("update $event_table set ca_name='종료' where wr_1 < '$currd' ");
}

 

우선 시간때를 wr_1 여분필드 가 시작 시작으로 지정하고 wr_2를 종료시간으로 지정해보세요

그러고 나머지는 sql 조건문 으로 주면되거든요

답변감사드립니다.

시작시간은 글쓴 시간으로 정해놔서 wr_datetime 으로 들어가는데

종료 시간에 정확하게 분류를 업데이트 할려면 어떤 로직이 필요할까요?

서버상에서 실시간(1분간격?)으로 해당 조건문을 실행시키는것도 무리가 있을듯 싶어서요.

실시간으로 하신다면 크론탭 쓰셔야되요
이거 참고해서 https://sir.kr/g5_plugin/9904?sfl=wr_subject%7C%7Cwr_content&stx=%ED%81%AC%EB%A1%A0 쓰시면되구요

로직은 아래 코드 참고해보세요

https://sir.kr/qa/529505?stx=%EB%A7%88%EA%B0%90%EC%8B%9C%EA%B0%84&sst=wr_num&sop=and&unanswered=0&unadopted=0&adopted=0&s_tag=

답변을 작성하시기 전에 로그인 해주세요.
전체 359
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT