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

    Tabella MySql campo DATA

    Ciao a tutti.
    Nella mia tabella MySql ho inserito un campo di tipo DATA.
    Quando nel mio form inserisco una data nel formato gg/mm/aaaa nella tabella il campo mi si popola di soli 0000-00-00.
    Se invece dal form inserisco un valore del tipo aaaa-mm-gg allora nel campo della tabella trovo la mia data nel formato che ho inserito.
    Per avere la data nel formato europeo all'interno della tabella devo modificare qualche opzione del campo DATA?

    Grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469

    Re: Tabella MySql campo DATA

    Originariamente inviato da JerryLeeLeewis
    Ciao a tutti.
    Nella mia tabella MySql ho inserito un campo di tipo DATA.
    Quando nel mio form inserisco una data nel formato gg/mm/aaaa nella tabella il campo mi si popola di soli 0000-00-00.
    Se invece dal form inserisco un valore del tipo aaaa-mm-gg allora nel campo della tabella trovo la mia data nel formato che ho inserito.
    Per avere la data nel formato europeo all'interno della tabella devo modificare qualche opzione del campo DATA?

    Grazie a tutti
    in teoria (* lascio stare gli aspetti filosofici) potresti, ma in pratica no.

  3. #3
    Grazie per l'esauriente spiegazione

  4. #4

    Re: Tabella MySql campo DATA

    Originariamente inviato da JerryLeeLeewis
    Ciao a tutti.
    Nella mia tabella MySql ho inserito un campo di tipo DATA.
    Quando nel mio form inserisco una data nel formato gg/mm/aaaa nella tabella il campo mi si popola di soli 0000-00-00.
    Se invece dal form inserisco un valore del tipo aaaa-mm-gg allora nel campo della tabella trovo la mia data nel formato che ho inserito.
    Per avere la data nel formato europeo all'interno della tabella devo modificare qualche opzione del campo DATA?

    Grazie a tutti
    Non puoi ne in teoria e tanto meno quindi in pratica.

    Il campo vuole una data in formato ansi. Nel caso tu inserissi la data nel formato "italiano" il giorno verrebbe considerato, se di valore compatibile, come anno a due cifre e delle 4 cifre formanti l'anno ne verrebbero tagliate le ultime due perche' eccedenti.

    Quello che puoi variare e' il formato di visualizzazione con la SELECT date_format() ma non il formato di memorizzazione nel campo. Se vuoi una (inutile) data memorizzata nel formato "italiano" devi usare un campo in formato varchar.

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

  5. #5
    ora ho capito, piero. Ma come faccio però a fare in modo che quando inserisco la data nel form la posso inserire nel formato italiano (anche se poi la memorizzerà nel formato ansi)?

  6. #6
    Originariamente inviato da JerryLeeLeewis
    ora ho capito, piero. Ma come faccio però a fare in modo che quando inserisco la data nel form la posso inserire nel formato italiano (anche se poi la memorizzerà nel formato ansi)?
    Ammettiamo che nel form tu richieda una data nel formato gg/mm/aaaa
    passandola con post riceverai $_POST['data']

    codice:
    list($giorno, $mese, $anno) = explode('/', $_POST['data']);
    $pippo ="$anno-$mese-$giorno";
    
    insert (update) quel che ti pare...
    
    data = '$pippo'
    
    estrai con
    
    select *, date_format(data, '%d/%m/%Y') as data_it

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

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469

    Re: Re: Tabella MySql campo DATA

    Originariamente inviato da piero.mac
    Non puoi ne in teoria e tanto meno quindi in pratica.
    Nulla ti vieta di modificare il sorgete di mysql e ricompilarlo.
    Quindi sia in teoria, che in pratica, si può fare.

    Che abbia un senso è altra cosa.

    Solo per la precisione.

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.