Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2

    [sql][php] Ricerca per Date

    Ho questa situazione: una tabella che si chiama richieste che contiene 4 campi (idrichiesta,richiesta,data inizio e data fine) le date sono nella forma giorno-mese-anno (esempio 21-4-2008), come faccio a cercare una richiesta con una data specifica? Purtroppo non posso modificare la struttura del database (non posso cambiare i campi data inizio e data fine e farli diventare di tipo date).
    Chissà se si capisce il problema che ho.

    Grazie a tutti comunque per l'attenzione!!!

  2. #2
    Se non ho capito male ti server una semplice query con cui cercare il record corrispondente alla data che ti serve.
    Devi usare la clusola where e trovare la corrispondenza esatta.

    Ecco un esempio di codice:
    Codice PHP:
    $ricerca "21-4-2008"// O qualsiasi altra data che ti puoi ricavare nel modo che vuoi

    mysql_query("SELECT * FROM richieste WHERE data='$ricerca' ") or die("Impossibile eseguire la query: "mysql_error()); 
    http://www.sanpaolosassari.it
    Il panino più buono è quello più grande

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2
    Innanzitutto ti ringrazio per la risposta!!!
    Il problema però è che non ho un solo campo data ma due (uno di inizio ed uno di fine) quindi la data che cerco può essere in un intervallo

  4. #4
    cavolo bel problema.... purtroppo con le mie misere conoscenza non posso aiutarti, però mi interessa sapere la soluzione...

    vediamo un pò i veri programmatori che farebbero
    http://www.sanpaolosassari.it
    Il panino più buono è quello più grande

  5. #5

    Re: [sql][php] Ricerca per Date

    Originariamente inviato da wasabi
    Ho questa situazione: una tabella che si chiama richieste che contiene 4 campi (idrichiesta,richiesta,data inizio e data fine) le date sono nella forma giorno-mese-anno (esempio 21-4-2008), come faccio a cercare una richiesta con una data specifica? Purtroppo non posso modificare la struttura del database (non posso cambiare i campi data inizio e data fine e farli diventare di tipo date).
    Chissà se si capisce il problema che ho.

    Grazie a tutti comunque per l'attenzione!!!
    quelle non sono date ma stringhe. se vuoi cercare delle date devi convertirle i dati stringa in data. Usa STR_TO_DATE()

    codice:
    select *
    from tabella
    where str_to_date('21-4-2008', '%d-%m-%Y') 
          between 
          str_to_date(data_inizio, '%d-%m-%Y')
          AND
          str_to_date(data_fine, '%d-%m-%Y')
    http://dev.mysql.com/doc/refman/5.0/...functions.html

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

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    questo presuppone che tu abbia il campo in db che sia formattato in 24-05-2007 e che la data di ricerca sia anch' essa della stessa formattazione
    Codice PHP:
    <?php
    $ricerca
    ="24-09-2007";
    mysql_query("SELECT * 
                 FROM   richieste 
                 WHERE  STR_TO_DATE(data_inizio,'%d-%m-%Y') <= STR_TO_DATE('
    $ricerca','%d-%m-%Y') 
                 AND    STR_TO_DATE(data_fine,'%d-%m-%Y')   >= STR_TO_DATE('
    $ricerca','%d-%m-%Y')"
                 or die(
    "Impossibile eseguire la query: "mysql_error());
    ?>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    cavolo mentre mi documentavo piero mi ha preceduto
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.