Jeg vil helt sikkert gemme dine abonnementer adskilt fra dine medlemsoplysninger. Dette vil ikke kun give dig en komplet registrering af alle abonnementer, men vil også hjælpe, hvis du skal have abonnementer med variabel længde. Din tabelstruktur kan være noget som denne:
subscriptions
-------------
subscription_id integer
member_id integer
start_date date
end_date date
date_paid datetime
Så kan du bruge SQL direkte til at finde abonnementer, der er ved at udløbe osv. Så for at finde eventuelle abonnementer, der skal udløbe inden for de næste syv dage, kunne du have noget lignende
SELECT
member_id,
MAX(end_date) as expires_date
FROM
subscriptions
GROUP BY
member_id
HAVING
expires_date < DATE_ADD( CURDATE() INTERVAL 7 DAY )