sql >> Database teknologi >  >> RDS >> Mysql

PHP udløbsdato

Nå, jeg kender ikke din databasestruktur, men lad os sige, at det er sådan her:

user_table
-----------------------------------------
user_id   | date_of_redeem | subscription
-----------------------------------------
user1     | 2014-02-01     | 90
user2     | 2014-05-18     | 365
user3     | 2014-07-22     | 180

Så med kun at bruge SQL-sætninger, kan du bruge noget, såsom DATE_SUB. Sammenlign datoen_for_indløsning med dagens dato minus abonnementsbeløbet. Hvis værdien af ​​date_of_redeem er højere, vil du få et resultat, ellers ville det returnere et tomt resultatsæt.

SELECT *
FROM `user_table`
WHERE `date_of_redeem` > DATE_SUB(NOW(), INTERVAL `subscription` DAY) AND `user_id` = 'desired_user_id'

Rediger:SQL Fiddle til ovenstående forespørgsel:http://sqlfiddle.com/#!2/ f95ea/11 (bare skift user3 til et af bruger-id'erne for at kontrollere, om de returnerer nogen resultater.

hvis du gerne vil have et bord med alle abonnementets udløbsdatoer, så kan du gøre noget som dette:

SELECT `user_id` AS `User`, (DATE_ADD(`date_of_redeem`, INTERVAL `subscription` DAY)) AS `Subscription Ends`
FROM `user_table`

SQL Fiddle til dette:http://sqlfiddle.com/#!2/f95ea/9



  1. tabel angives to gange både som mål for INSERT og som separat datakilde

  2. Django og parallel behandling:

  3. Hvordan man selv opdaterer PHP+MySQL CMS?

  4. FEJL 1215:Kan ikke tilføje fremmednøglebegrænsning ved brug af ON SLET SET NULL