2012-01-06 5 views
0

저는 반복 청구가 관련된 신청서를 작성 중입니다. 이 문제를 시작하기 전에 몇 가지 질문이 있으니 도와주세요 ..recurrning billing system

회원 가입 후 다음 11 개월 동안 결제하려면 어떻게합니까? PHP로 어떻게 처리해야합니까? 내가 다른 SQL 테이블 또는 단일 행에 저장해야합니까? 내가 SQL 테이블에 저장하려는 경우 다음 11 개월을 얻으려면 어떤 PHP 함수를 사용해야합니까?

나는 cronjob을 어떻게 실행해야합니까? monthly_due 테이블을 확인하고 이번 달에 회원이 대기중인 모든 회원을 얻으시겠습니까?

+3

코드는 어디에 있습니까? 너의 문제는 무엇인가? 지금까지 해보신 것은 무엇입니까? –

+0

@Aron Rotteveel 저는 혼란스럽고 시작하는데 도움이 필요합니다. – seoppc

답변

1

회원의 가입 만료일을 테이블에 저장하는 것이 좋습니다 (지불 일 + 11 개월). RENEWAL_DATE이

+0

좋은 제안, 감사합니다. 즉, (지불 날짜 + 11 개월) 즉, 내 SQL을 추가 할 수 있습니다. 'NOW() + 11' – seoppc

+0

MySQL 쿼리 나 PHP 코드에서 날짜 조작을 할 수 있습니다. 일반적으로, 나의 선호는 코드에서 그것을하는 것이다. –

2

가 개인적으로 나는이 년이

구독 데이터베이스 테이블 할 것 (오늘 날짜)와 (오늘 날짜 + 30 일) 사이에 자리하고있는 곳

는 갱신 인한 회원, 단지 목록 구성원을 나열하려면

$expire = date('Y-m-d',time() + (86400 * 365)); 
// 86400 = 24 hrs * 365 = 1 year 
,691 : 테이블이 구독 (날짜 필드)이 만료되면 날짜를 포함 PHP에서

이런 식으로 날짜를 계산

그때 날짜 필드 30 일 저명한입니다 구독을 선택하는 크론 스크립트를 실행하는 것,

그런 다음 내가 그것을 접근 얼마나 짧은에있어

기한이 지난 십일처럼 구독을 차단 갱신 이메일을 보내

3

회원 정보와 별도로 구독 정보를 저장합니다. 이것은 모든 구독에 대한 완전한 기록을 허용 할뿐만 아니라 가변 길이 구독이 필요한 경우에도 도움이됩니다.

subscriptions 
------------- 
subscription_id integer 
member_id  integer 
start_date  date 
end_date   date 
date_paid  datetime 

그런 다음 당신은 당신이

같은 것을 가질 수 그래서 다음 7 일 이내에 만료 모든 구독을 찾을 수 등을 만료에 대한 구독을 찾기 위해 직접 SQL을 사용할 수 있습니다 : 귀하의 테이블 구조는 다음과 같은 수 있습니다
SELECT 
    member_id, 
    MAX(end_date) as expires_date 
FROM 
    subscriptions 
GROUP BY 
    member_id 
HAVING 
    expires_date < DATE_ADD(CURDATE() INTERVAL 7 DAY) 
+0

감사합니다. 아이디어를 얻었습니다. 실제로 고객은 가입 날짜로부터 다음 11 개월 동안 우리에게 비용을 지불합니다. 그래서 나는 그들의 지불금을 저장해야하고, 이달에 지불액이 떨어지는 사용자를 얻는 방법. – seoppc