Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Eventi mese corrente ed intervallo di date

    Salve a tutti...
    avrei bisogno di un aiuto per una query
    ho una tabella in cui memorizzo gli eventi (event)
    dovrei far visualizzare all'utente gli eventi del mese corrente che sono compresi tra la data di inizio(data_start) e la data di fine (data_end), escludendo gli eventi antecedenti la data odierna (ma solo quelli scaduti).

    es:
    oggi è il 26-04-2010
    eventi visualizzati:
    data_start | data_end
    21-04-2010 | 28-04-2010
    21-04-2010 | 28-08-2010

    eventi NON visualizzati:
    data_start | data_end
    21-04-2010 | 21-04-2010
    21-04-2010 | 25-04-2010

    gli eventi sono memorizzati nel database come DATE nel formato 0000-00-00
    grazie a tutti della disponibilità..

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    select * from tabella where curdate() between data_start and data_end

  3. #3
    Grazie della risposta, non l'ho provata, ma a prima vista questa query seleziona tutti gli eventi che ho nel database, non solamente quelli del mese in corso...

    io avevo fatto questo:
    SELECT * FROM event WHERE ( DAY(date_start)>=DAY(CURDATE()) ) and MONTH(date_start)>=MONTH(CURDATE()) and YEAR(date_start)=YEAR(CURDATE()) ORDER BY date_INITIAL ASC

    questo perchè volevo limitare solo al mese corrente la visualizzazione degli eventi, ma poi mi si è posto il problema dell'evento che sta a cavallo tra un mese ed un'altro... dunque volevo lavorare sulla clausola BETWEEN, ma se ho scomposto la data in day, month e year, come risolvo l'arcano dei giorni precedenti DAY(date_start)>=DAY(CURDATE()?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Prova la query e poi facci sapere.

    Per regolamento è vietato avere più di un account. Scegli quale tenere in maniera che faccia disattivare l'altro.

  5. #5
    si, scusa, ma non ricordando la password di questo account, ne avevo creato un'altro... ho risolto ed adesso quello lo si può cancellare tranquillamente.

    ho provato la query, ma non ricevo risultati, nonostante so di certo che ci sono almeno tre risultati con le caratteristiche che servono a me, ossia:
    - che ci siano solo gli eventi del mese in corso
    - che l'evento sia compreso nel mese corrente
    - che l'evento sia iniziato precedentemente alla data odierna
    - che l'evento termini qualche giorno dopo il mese successivo

    grazie mille

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Nel primo post tra gli eventi da visualizzare comprendevi anche 21-04-2010 | 28-08-2010. Ho un pò di confusione circa la tua reale esigenza.

    Posta dei record di esempio che corrispondano agli ultimi 4 casi che hai riportato nel post precedente e quantifica il "qualche giorno dopo il mese successivo".

  7. #7
    in generale:
    - che ci siano solo gli eventi del mese in corso:
    cioè visualizzare tutti gli eventi del mese di Aprile, esclusi quelli già scaduti:

    date_start------date_end
    21-04-2010-----24-04-2010 ----> escluso poichè inizia e finisce prima della data odierna
    21-04-2010-----28-04-2010 ----> incluso (oggi è il 26-04-2010)
    01-03-2010-----28-08-2010 ----> incluso poichè l'evento occorre anche nel mese di Aprile


    scrivendo però mi accorgo che c'è una piccola pecca... se l'evento è di un giorno.. ed è per esempio il 1° giorno del mese non avrei la possibilità di visualizzarlo prima..

    intanto risolviamo questa, al limite successivamente aggiungo +7 giorni nella select


    ps. quando ho scritto "qualche giorno", intendevo il case 3 di cui sopra cioè che possa scadere anche molto dopo il mese in corso.

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Hai provato la query che ti ho scritto?

  9. #9
    si l'ho provata come ho scritto nel post:

    ho provato la query, ma non ricevo risultati, nonostante so di certo che ci sono almeno tre risultati con le caratteristiche che servono a me, ossia:
    - che ci siano solo gli eventi del mese in corso
    - che l'evento sia compreso nel mese corrente
    - che l'evento sia iniziato precedentemente alla data odierna
    - che l'evento termini qualche giorno dopo il mese successivo

    grazie mille

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Puoi postare il dump della tabella popolata con qualche record indicando i tre record che devono essere restituiti? Grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.