Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1
    Ma il campo TAB000_i_data_ora di che tipo è? Se è di tipo date, datetime o timestamp la query è corretta a meno che non ci sia un altro errore. Prova a stampare la query prima di eseguirla e provala a mano e vedi cosa ti restituisce.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  2. #2
    Quote Originariamente inviata da satifal Visualizza il messaggio
    Ma il campo TAB000_i_data_ora di che tipo è?
    è timestamp
    infatti, come dicevo all'inizio, tutto quanto ho letto conferma la sintassi del codice

  3. #3
    Quote Originariamente inviata da satifal Visualizza il messaggio
    Ma il campo TAB000_i_data_ora di che tipo è? Se è di tipo date, datetime o timestamp la query è corretta a meno che non ci sia un altro errore. Prova a stampare la query prima di eseguirla e provala a mano e vedi cosa ti restituisce.
    Ho ricopiato in una nuova pagina web il codice essenziale e adesso con DATE_FORMAT funziona
    GRAZIE

    Ma mi rimane ancora la domanda sul perchè non funziona la formattazione della data
    con date ("d-m-Y", TAB000_i_data_ora)

    Questo è il codice che funziona con DATE_FORMAT
    Codice PHP:
    // forzo id record da leggere
    $w_TAB000_id_ric 2
    // istanza della classe
    $data = new MysqlClass();
    // chiamata alla funzione di connessione
    $data->connetti();

    // Lettura record con DATE_FORMAT
    $TAB000_sql $data->query("SELECT DATE_FORMAT(TAB000_i_data_ora, '%d/%m/%Y') As ddd FROM TAB000 WHERE TAB000_id = $w_TAB000_id_ric");
    if(
    mysql_num_rows($TAB000_sql) > 0){
        
    // estrazione dei record
        
    $TAB000_obj $data->estrai($TAB000_sql);
        echo 
    '<br>ddd:'.$TAB000_obj->ddd;

    E questo è quello che non mi dà il risultato sperato:
    Codice PHP:
    $TAB000_sql $data->query("SELECT * FROM TAB000 WHERE TAB000_id = $w_TAB000_id_ric");
    if(
    mysql_num_rows($TAB000_sql) > 0){
          
    // estrazione dei record
        
    $TAB000_obj $data->estrai($TAB000_sql);
        
    $_d1 $TAB000_obj->TAB000_i_data_ora;
        
    $_d2 date("d-m-Y"$TAB000_obj->TAB000_i_data_ora);
    // visualizzo il contenuto delle variabili    
        
    echo '<br>TAB000_i_data_ora:'.$TAB000_obj->TAB000_i_data_ora;
        echo 
    '<br>d1:'.$_d1;
        echo 
    '<br>d2:'.$_d2;

    Questo è l'output che ottengo, con il solito 01-01-1970:
    Lettura record con DATE_FORMAT:
    ddd:02/09/2014
    --------------------------------
    Lettura record senza DATE_FORMAT:
    TAB000_i_data_ora:2014-09-02 17:35:59
    d1:2014-09-02 17:35:59
    d2:01-01-1970

    QUalcuno sa spiegare perchè?

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Nella funzione date, passa come secondo parametro la data elaborata da strtotime(campo data)

  5. #5
    Quote Originariamente inviata da clasku Visualizza il messaggio
    Nella funzione date, passa come secondo parametro la data elaborata da strtotime(campo data)
    YEEEEEEEEEEEEEEEEES
    funge!!! GRAZIE
    ma cosa fa esattamente STRTOTIME?
    stamattina avevo letto questa funzione ma non avevo ben capito a cosa servisse.

  6. #6
    Quote Originariamente inviata da rainbow.pino Visualizza il messaggio
    Ho ricopiato in una nuova pagina web il codice essenziale e adesso con DATE_FORMAT funziona
    GRAZIE

    Ma mi rimane ancora la domanda sul perchè non funziona la formattazione della data
    con date ("d-m-Y", TAB000_i_data_ora)

    Ti avevo già risposto:

    Quote Originariamente inviata da satifal Visualizza il messaggio
    La funzione date() prende in input il formato ed il timestamp. Nel tuo caso il timestamp passato non è corretto. Prova ad utilizzare la funzione strtotime()

    Codice PHP:
    echo date("d-m-Y"strtotime($TAB000_obj->TAB000_i_data_ora)); 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Hai ragione satifal. Avevo letto il tuo ultimo messaggio e non il penultimo: sarà la "stolitanza" che avanza? ;-)
    comunque Grazie.

Tag per questa discussione

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 © 2026 vBulletin Solutions, Inc. All rights reserved.