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

    inserimento data in campo datetime

    ciao a tutti.
    Stò cercando di inserire in un campo mysql datetime la data di inserimento del record.

    La data la recupero cosi:
    date('Y-m-d H:i:s')
    ma non me la inserisce e mi mette i valori 0000-00-00 00:00:00.
    sapete come mai?

    grazie mille!

  2. #2
    Ti do un consiglio prezioso: usa il timestamp.
    Con il timestamp (sono i secondi passati dal 1 gennaio 1970) formatti la data semplicemente con un
    date("d.m.Y", time()) e hai 01.01.2010.
    Se aggiungi H:i hai anche l'ora: 12:00
    Ti basta un campo testo e per inserire il timestamp attuale fai time().
    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923

    Re: inserimento data in campo datetime

    Originariamente inviato da zoc
    ciao a tutti.
    Stò cercando di inserire in un campo mysql datetime la data di inserimento del record.

    La data la recupero cosi:
    date('Y-m-d H:i:s')
    ma non me la inserisce e mi mette i valori 0000-00-00 00:00:00.
    sapete come mai?

    grazie mille!
    Non hai bisogno di ricorrere a php per recuperare data/ora corrente. Usa la funzione now() di mysql:

    insert into tabella (campo_datetime) values (now())

  4. #4
    x portapipe: mettendo la data dentro un campo testo posso poi richiamare i dati e ordinarli in ordine di data?
    usando timestamp non è che ogni volta che un aggiorna il record si aggiorna anche la data nel momento della modifica?

    x nicola75ss: e non posso usare sql perchè la query mi viene generata in automatico da un sistema... infatti devo mettere la data dentro un array.

    grazie!

  5. #5
    Essendo una sequenza di numeri, puoi assolutamente ordinarla come ti pare!
    1267102152
    1267102153
    1267102154
    1267102155
    1267102156
    e così via.
    Il timestamp è trattabile come una stringa. Se non la cambi non si cambia in automatico.
    Il bello è che per trattarla basta fare, come ti dicevo, date("d.m.Y H:i",time()) e hai 01.01.2010 13:50.
    Ce l'ho fatta! - ItalianPixel -

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da zoc
    mettendo la data dentro un campo testo posso poi richiamare i dati e ordinarli in ordine di data?
    Lascia perdere, usa campi data (o datetime, se ti serve anche l'ora)

    date('Y-m-d H:i:s')
    Strano che non ti funzioni così, il formato dovrebbe essere corretto. Sicuro che l'errore non sia da qualche altra parte? Prova a stampare a video la query che esegui

  7. #7
    ho usato date("d.m.Y", time()) in un campo char e tutto funziona!
    recupero in ordina di data e sembra tutto ok...

    ho fatto male?

  8. #8
    No.
    Ci sono, come dico sempre, più strade per ottenere un risultato con PHP.
    luca200 utilizza un metodo, io un altro.
    E' questione di impostazione.
    C'è chi lavora egregiamente con le date in formato americano, chi con il timestamp e chi, addirittura, tramuta il timestamp in data, ci lavora, e poi ritramuta il risultato in timestamp (robe da pazzi ma ne ho conosciuto più di uno!!)
    Io, personalmente, lavoro meglio con i numeri che con le date.
    Ce l'ho fatta! - ItalianPixel -

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