Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54

    Form ricerca due date stesso campo

    Ciao a tutti. Ho un problema che non riesco a risolvere.
    Ho una tabella dove c'è un campo data (datatime) dove va inserito automaticamente la data e l'ora di inserimento. Quindi 2013-09-02 12:00:00. Per me questo campo è fondamentale. Ora volevo fare un form di ricerca intervallato tra due date ( per ora perchè dopo mi serve anche l'ora).
    Ho provato questa query
    Codice PHP:
    $query "SELECT * FROM clientiWHERE 1=1";
        
    $w_data="";
        if (
    $data !=""){$w_data=" between '%".$data."%' AND '%".$data."%'";}
        
    $w_intervento=""
        if(
    $intervento != ""){$w_intervento=" AND intervento LIKE '%".$intervento ."%' ";}
        
    $w_cognome=""
        if(
    $cognome!=""){$w_cognome=" AND cognome LIKE '%".$cognome."%' ";} 
        
    $w_nome=""
        if(
    $nome!=""){$w_nome=" AND nome LIKE '%".$nome."%' ";} 
        
    $query .=$w_intervento .$w_cognome.$w_nome.$w_data."  ORDER BY id"
    Non mi restituisce alcun risultato, mentre se vado su phpmysql inserendo
    Codice PHP:
    SELECT 
    FROM  `clienti
    WHERE data
    BETWEEN  
    '2013-07-05%'
    AND  '2013-07-12%'
    LIMIT 0 30 
    funziona correttamente. Come posso fare?
    Nel form ricerca ho messo così
    Codice PHP:
    <input id="data" name="data" type="date">
         <
    input id="data" name="data" type="date"
    E' stato inserito due volte perché mi serve "da" "a" praticamente.

    Grazie

  2. #2
    codice:
    ... clientiWHERE ...
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54
    Si, l'ho notato, ma anche correggendolo non mi restituisce nulla.
    Non va in errore solo dice che non ci sono campi.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    al posto di eseguire la query fai

    codice:
    echo $query
    così vediamo se la costruzione della query via codice va a buon fine.
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54
    Ho fatto delle modifche
    Codice PHP:
    <input id="data" name="data" type="date">
         <
    input id="data2" name="data2" type="date"
    ed inserito
    Codice PHP:
    $data$_POST['data'];
    $data2$_POST['data']; 
    ma ora mi restituisce solo la prima data che metto
    Codice PHP:
    SELECT FROM interventi WHERE 1=1 between '%2013-07-05%' AND '%2013-07-05%' ORDER BY id 

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    forse devi mettere la data2 ? se imposti solo $data è normale che sia ripetuta due volte

    $data2= $_POST['data2'];

    codice:
    if ($data !=""){$w_data=" between '%".$data."%' AND '%".$data2."%'";}
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    54
    Si l'ho modificato, ora risponde così
    Codice PHP:
    SELECT FROM interventi WHERE 1=1 between '2013-07-05%' AND '2013-07-12%' ORDER BY id 
    quindi date esatte.
    Però ho notato che nel risultato della query non c'è il campo data...

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    Vuoi ottenere una cosa del genere alla fine giusto?

    codice:
    SELECT * FROM interventi WHERE 1=1 AND DATA between '2013-07-05%' AND '2013-07-12%' ORDER BY id
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    quindi dovresti modificare la riga di generazione query in php così

    codice:
    if ($data !=""){$w_data="AND DATA between '%".$data."%' AND '%".$data2."%'";}
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  10. #10
    Originariamente inviato da lelemkop
    Però ho notato che nel risultato della query non c'è il campo data...
    ...forse perchè nel codice non lo hai messo nella stringa?!?!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.