• Super User

    query tra 2 date con flessibiità di 2 giorni

    Ciao a tutti
    in un db inserisco delle offerte aggiungendo la data di inizio periodo e di fine periodo che si chiamano valida_da e valida_fino

    Sto dando una flessibilità all'utente di visualizzare anche le offerte che partono 2 giorni prima o 2 giorni dopo (magari hanno un prezzo migliore e prenotano le offerte in quei giorni)
    Fin qui non ho problemi e lo faccio aggiungendo questa clausola:
    [php]
    WHERE valida_da >= DATE_ADD('$arrivo', INTERVAL -2 DAY) AND valida_da <= DATE_ADD('$arrivo', INTERVAL +2 DAY)
    [/php]

    Il "problema" è che alcune offerte sono valide tipo dal 10 febbraio al 10 marzo, pertanto, chi prenota tot notti in quel periodo becca l'offerta.

    Se faccio la ricerca per il giorno 8 febbraio riesco a vedere l'offerta
    Se faccio la ricerca per il giorno 12 febbraio riesco a vedere l'offerta

    Se invece cerco per il 14 febbraio l'offerta non la vedo, eppure e' valida in quel periodo.

    Cosa posso aggiungere nella query per far si che si veda anche ricercando il giorno 14, 15, 20, 23, 25 ecc? (fino al 10 marzo).

    Posso mettere una condizione Or che specifica qualcosa tipo:
    dove l'arrivo puo' essere inferiore o superiore di 5 giorni (come ho fatto fino ad ora), OPPURE l'arrivo deve essere compreso tra il valida_da e il valida_fino ????????

    Spero di essere stato abbastanza chiaro