Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Estrarre solo le date da un campo datatime

    Ragazzi ho creato un motore di ricerca e funziona, però io ho un campo datatime , ma ho bisogno di estrarre solo la data non l'ora pure: vi posto la query

    questo è il pezzo della ricerca

    codice:
    if($_REQUEST['datainizio'] != "" && $_REQUEST['datafine']!=''){     
        
                  $datainizio=$_REQUEST['datainizio'];
        
              $data= convertiData($datainizio); 
        
                
               $datafine=$_REQUEST['datafine'];
        
               $data2= convertiData($datafine); 
                
    
    
    $sqlSearch .= " AND riparazioni.dataingresso BETWEEN('{$data} %H:%i')AND('{$data2} %H:%i')";
    
    
    }
    
    
    if($_REQUEST['datainizio'] != "" && $_REQUEST['datafine']==''){ 
        
        
                  $datainizio=$_REQUEST['datainizio'];
        
              $data= convertiData($datainizio); 
        
              
                
    
    
    $sqlSearch .= " AND riparazioni.dataingresso = '{$data} %H:%i'";
    
    
    }
    che vado ad collegare alla select ma non funziona, come posso risolvere ? ringrazio tutti per l'aiuto

  2. #2
    Ho risolto parzialmente in questo modo
    codice:
     $sqlSearch .= " AND riparazioni.dataingresso BETWEEN CAST('{$data}' AS DATETIME)AND CAST('{$data2}' AS DATETIME)";

    adesso oltre ad estrarre tra le date, ho bisogno anche che estragga esattamente la data selezionata :

    sqlSearch .=" AND riparazioni.dataingresso = '{$data}'";

    questo non funziona

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Perche non cerchi datetime to date mysql con google ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    ho provato a cercare l'unica cosa che poteva andare era

    $sqlSearch .= " AND riparazioni.dataingresso = CAST('{$data}' AS DATE)";

    ma non funge

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da Werwolfe Visualizza il messaggio
    ho provato a cercare l'unica cosa che poteva andare era

    $sqlSearch .= " AND riparazioni.dataingresso = CAST('{$data}' AS DATE)";

    ma non funge
    Devi fare il contrario :

    Codice PHP:
    SELECT FROM tabella WHERE date(dataingressobetween '2015-01-11' and '2015-01-31' 
    Basta poi settare le date per il confronto con il formato AAAA-MM-GG ed è fatta.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    No no il between funziona bene, io la data la converto prima, è quando è solo un uno , mi spiego allora se devo estrarre la differenza tra due date :

    $sqlSearch .=" AND riparazioni.dataingresso BETWEEN CAST('{$data}' AS DATETIME)AND CAST('{$data2}' AS DATETIME)";


    funge perfettamente, ma nella seconda impotesi:

    quando la data è precisa che non la estrae perchè, il form invia la data esatta ma senza ora e minuti, e quindi non la estrae, ho provato a fare così

    $sqlSearch .= " AND riparazioni.dataingresso = CAST('{$data}' AS DATE)"; dicendogli di estrarre solo la data ma non va , mentre sopra quando deve estrarre intervalli tra due date si

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    La prima tua query confronti datetime con datetime. Nella seconda confronti datetime con date e questo non va.

    prova :
    $sqlSearch .= " AND date(riparazioni.dataingresso) = CAST('{$data}' AS DATE)";
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Ciao scusa se rispondo solo ora, ma solo ora sono riuscito a provare lo script (problemi di salute) , grazie funziona perfettamente

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.