2012-10-27 29 views
6

Sto utilizzando PHPMyadmin e inserendo valori in un database utilizzando PHP. I memorizzare la data di scadenza dei prodotti utilizzando un timestamp come segue, PER ESEMPIO:MySQL PHP - Seleziona tutto dove data di scadenza = data odierna + 7 giorni

2012-11-04 

voglio selezionare tutti in cui la data di scadenza è pari a data di oggi, più di 8 giorni (come quello di cui sopra)

Voglio anche selezionare tutto dove la data di scadenza è uguale alla data di oggi + 2 settimane in una pagina separata se qualcuno mi può aiutare sarebbe molto grato!

risposta

14

Potete farlo con una query come questa:

SELECT * FROM table WHERE date = DATE_ADD(CURDATE(), INTERVAL 8 DAY) 

È possibile utilizzare DATE_SUB per le date in passato.

+0

che ha funzionato perfettamente :) – neeko

+0

grazie @ G-Nugget ringraziamento, mi aiuta molto –

11
  1. Selezionare tutti in cui la data di scadenza è pari a data odierna più 8 giorni
SELECT 
    * 
FROM 
    products 
WHERE 
    products.expiry_date >= DATE(now()) 
AND 
    products.expiry_date <= DATE_ADD(DATE(now()), INTERVAL 8 DAY) 
  1. Seleziona tutti in cui la data di scadenza è uguale alla data odierna più 2 settimane
SELECT 
    * 
FROM 
    products 
WHERE 
    products.expiry_date >= DATE(now()) 
AND 
    products.expiry_date <= DATE_ADD(DATE(now()), INTERVAL 2 WEEK) 

Questi documenti saranno utili per voi:

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add