さて、あなたのデータベース構造はわかりませんが、次のようなものだとしましょう:
user_table
-----------------------------------------
user_id | date_of_redeem | subscription
-----------------------------------------
user1 | 2014-02-01 | 90
user2 | 2014-05-18 | 365
user3 | 2014-07-22 | 180
したがって、SQLステートメントのみを使用すると、DATE_SUBなどの何かを使用できます。 date_of_redeemを、今日の日付からサブスクリプションの金額を引いたものと比較します。 date_of_redeemの値が高い場合は結果が得られ、そうでない場合は空の結果セットが返されます。
SELECT *
FROM `user_table`
WHERE `date_of_redeem` > DATE_SUB(NOW(), INTERVAL `subscription` DAY) AND `user_id` = 'desired_user_id'
編集:上記のクエリのSQLフィドル: http://sqlfiddle.com/#!2/ f95ea / 11
(user3
を変更するだけです いずれかのユーザーIDにアクセスして、結果が返されるかどうかを確認します。
すべてのサブスクリプションの有効期限を含むテーブルを取得したい場合は、次のようにすることができます。
SELECT `user_id` AS `User`, (DATE_ADD(`date_of_redeem`, INTERVAL `subscription` DAY)) AS `Subscription Ends`
FROM `user_table`
このためのSQLフィドル: http://sqlfiddle.com/#!2/f95ea/9