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

    inserimento data ed ora


    Il problema che mi si presenta ora è che non riesco ad inserire correttamente le date e le ore in una tabella.
    Tra gli altri campi ci sono questi 3 che vengono creati con questi formati:
    Codice PHP:
    "Data DATE"
    "Data2 TIMESTAMP(8)"
    "Ora TIME" 
    Leggendo le proprietà dei 3 campi, dopo la loro creazione, ho, giustamente, questo risultato:

    Data date
    Data2 timestamp
    Ora time

    Dal form questi dati vengono inseriti nel consueto formato:

    12/12/2010
    10.25

    Quindi vengono accettati con:
    Codice PHP:
    htmlentities($_REQUEST['Data'])
    htmlentities($_REQUEST['Ora']) 
    e la query è formulata in questo modo:
    Codice PHP:
    INSERT INTO table (..., DataData2Ora, ...) VALUES (..., '12/12/2010''12/12/2010''10.25', ...) 
    Quando vado a leggere i record per questi campi mi viene restituito:

    Data 0000-00-00
    Data2 0000-00-00 00:00:00
    Ora 00:00:10


    Come debbo fare per inserire correttamente le date e gli orari?
    Precedentemente usavo il formato "TEXT " ma avevo problemi nell'elaborazione delle date.
    Grazie se, come il solito mi potreste dare una mano

  2. #2
    devi riscrivere le date in formato ansi (se non ricordo male si chiama cosi)

    YYYY-MM-DD

    $data_mysql = vsprintf('%3$04d-%2$02d-%1$02d', explode('/', $data));

    ovviamente dentro data devi mettere qualcosa tipo
    $data = '10/12/2010';

    ovvero GIORNO/MESE/ANNO
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Intanto, grazie per la risposta

    Non capisco bene. Debbo riscrivere la data nel momento dell'accettazione del form, prima di scriverla nel DB?
    E l'ora? Debbo riscrivere anche quella?
    Grazie ancora

  4. #4
    le date mysql le vuole nel formato ANNO A QUATTRO CIFRE-MESE A DUE CIFRE-GIORNO A DUE CIFRE

    quindi o lo fai inserire in questo formato all'utente, anche se è una cosa abbastanza scomoda, oppure la fai inserire normalmente e poi la converti nel formato che ti serve a te (quello che ti ho postato è un modo, ma c'è ne sono tanti altri, ad esempio con le espressioni regolari che ti permettono oltre a preparati i dati per la conversione di fare anche controlli sul contenuto)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Grazie di nuovo, Damiele

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.