Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    aiuto per formattazione date

    Scusate tutti,

    io sono assolutamente nuovo a Php, e ho il seguente problema.
    Avevo fatto un sito in Asp, ma ho dovuto cominciare a tradurlo in Php per cambio server.

    Ho un campo data in Mysql (premetto che le tabelle del db non le ho scritte io)...
    quando facio il data entry tramite form chiedo all'utente di inserire la data di un documento, ma quando vado a fare l'estrazione in visualizzazione mi si visualizza questo:

    2020-06-20 04:00:00

    Io voglio che venga visualizzato (o scritto sul campo della tabella) solo il giorno, ma in modo comprensibile!!! (per es.: 20/06/2004 ).

    Come posso fare?
    Grazie a tutti coloro che mi risponderanno
    Franz

  2. #2
    Ti segnalo una pillola sul tema. Il manuale mysql sai dove si trova.

    Nel tuo caso ti semplifico la vita:

    SELECT *, DATE_FORMAT(campo_data,'%d/%m/%Y') as data
    FROM tabella where ecc....

    il dato lo trovi nel campo alias "data".


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

  3. #3
    ma date('d/m/Y')..non va bene???

  4. #4
    Originariamente inviato da TittyMail
    ma date('d/m/Y')..non va bene???
    quello agisce a livello di PHP su un timestamp.. la funzione mysql DATE_FORMAT agisce direttamente al momento dell'estrazione dei dati e restituisce la data già formattata...

  5. #5
    Originariamente inviato da }gu|do[z]{®©
    quello agisce a livello di PHP su un timestamp.. la funzione mysql DATE_FORMAT agisce direttamente al momento dell'estrazione dei dati e restituisce la data già formattata...
    Grande }gu|do[z]{®©

    Tenendo presente che la data potrebbe anche non essere quella di oggi....


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

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    ehm, scusa ancora

    Scusa tanto, pietro.mac, però il problema persiste.

    Io ho scritto così:

    $query_limit = mysql_query("SELECT numero, giorno, DATE_FORMAT(giorno,'%d/%m/%Y') as data FROM determinazioni LIMIT $primo, $per_page");
    while($results = mysql_fetch_array($query_limit)) {
    echo " <tr>\n <td>";
    echo "<a href=\"page.php?numero=" . $results['numero'] . "\">" . $results['numero'] . "</a>
    " . $results['giorno'] . "
    ";
    echo "</td>\n </tr>\n";
    }


    Ma mi restituisce nel campo "giorno" (che è quello con la data):
    2020-06-20 04:00:00

    Sai per piacere dirmi dove sbaglio?
    grazie tante
    Franz

  7. #7
    la funzione date_format rende una stringa formattata a piacere estraendola da una data.

    Nel tuo caso questo rende superflua l'estrazione del campo "giorno" perche' il suo contenuto viene usato e reso come stringa nell'alias, cioe' il nome-campo temporaneo "data" dove, per semplicita', verra' messa la stringa richiesta. Quindi:

    mysql_query("SELECT numero, DATE_FORMAT(giorno,'%d/%m/%Y') as data
    FROM determinazioni
    LIMIT $primo, $per_page");

    e quindi:

    echo "<a href=\"page.php?numero=" . $results['numero'] . "\">" . $results['numero'] . "</a>
    " . $results['data'] . "


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

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    adesso funziona, ma...

    Scusa infinitamente,

    adesso funziona meglio, però mi restituisce:

    20/06/2005, 20/06/2020

    eppure la data è: 20/06/2004

    da cosa può dipendere?

    Scusa ancora

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    per esempio...

    per esempio, se inserisco:

    15/12/2004

    lui mi restituisce:

    20/12/2015

    Spero tu possa aiutarmi, grazie

  10. #10

    Re: per esempio...

    Originariamente inviato da franz79
    per esempio, se inserisco:

    15/12/2004

    lui mi restituisce:

    20/12/2015

    Spero tu possa aiutarmi, grazie
    Significa che mysql funziona bene. guarda un po:

    15/12/2004

    Poiche' il formato data di mysql e' yyyy-mm-dd quello che inserisci viene interpretato cosi':

    15 = anno a due cifre - quindi 2015
    12 = mese valido (1-12) - quindi 12
    2003 = 20 giorno valido (01-31) - 03 digit eccedenti non considerati.

    con date format richiedi gg/mm/aaaa ed e' quello che ti trovi.

    La data la devi inserire nel formato mysql, cioe' yyyy-mm-dd
    e ti conviene farlo, almeno cosi' puoi utilizzare tutte le funzioni, e sono tante, per la gestione delle date.


    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.