Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    682

    Problema con query a campi date

    Ragazzi mi servirebbe un aiuto visto che con SQl/Mysql non sono un genio. Praticamente ho una tabella dove ho due campi
    date uno si chiama data_inizio ed uno data_fine.
    Da un form PHP recupero queste date in questo forma:
    aaaa-mm-dd. La query che eseguo é una cosa simile a questa:
    SELECT campo1 from tabella1
    WHERE data_inizio >= '$data1'
    AND data_fine <= '$data2';
    Il problema é che fino a quando sono uguali i valori che seleziono dal form a quelli nel Db per i due campo prendo
    il record se prendo valori diversi anche rispettando le condizioni di >= e <= non becco niente.
    Ho pensato che sto comparando delle stringhe ma non ne sono certo.
    *N.B: $data1 = "2005-1-1".
    Grazie e buon lavoro a tutti.

  2. #2
    Capito poco... anzi niente... che vuol dire???
    Il problema é che fino a quando sono uguali i valori che seleziono dal form a quelli nel Db per i due campo prendo il record se prendo valori diversi anche rispettando le condizioni di >= e <= non becco niente.
    :master:

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    682
    Scusami Piero potevo essere più chiaro:
    select campo1 from tabella
    where data_inizio >= '2005-1-1'
    and data_fine <= '2006-2-2';
    Questa query mi restituisce dei dati perché c'é un record
    nel quale precedentemente ho inserito quelle date con una
    query da PHP.
    Spero di essere stato più chiaro.
    Grazie

  4. #4
    where data_inizio >= '2005-01-01'
    and data_fine <= '2006-02-02';

    Si suppone che devono esserci delle date in data_inizio e la data deve essere superiore o uguale a 2005-01-01.

    data_fine potrebbe anche non esserci ... verrebbe valutato il default che e' 0000-00-00 che e' sicuramente inferiore a qualsiasi data_fine.

    Ma la data_inizio potrebbe anche essere 2010-01-01 cioe' metti in AND due valori diversi in due campi diversi. Se individualmente sono TRUE la AND e' TRUE.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    682
    Come ti dicevo ho già inserito dei valori ma riesco a prendere
    il record solo se nella query la data che gli passo é uguale
    cioé se ho un record in cui i due campi hanno questi valori:
    data_inizio = 2005-01-01
    data_fine = 2006-02-02
    Se eseguo una query da PHP che contiene questi valori ottengo
    i dati:
    select campo1 from tabella1
    where data_inizio >= '2005-1-1'
    and data_fine <= '2006-2-2';
    Se gli passo questi valori tutto ok.
    Quello che vorrei e che se dal form faccio una richiesta
    diversa come:
    select campo1 from tabella1
    where data_inizio >= '2005-2-2'
    and data_fine <= '2006-3-3';
    Mi venga restituito cmq il record.
    Puoi dirmi cosa devo fare per ottenere queto ?
    Grazie.

  6. #6
    data_inizio = 2005-01-01

    data_inizio >= '2005-02-02'

    ti rende FALSE perche' data_inizio e' inferiore a 2005-02-02


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.