Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    mysql: datetime e timestemp

    ciao, ho bisogno che un campo si aggiorni automaticamente ad ogni variazione (come fa timestamp). ho anche bisogno di prelevare da questo campo a volte solo la data e a volte tutto quanto (sia data che ora).

    per fare questo so che c'è la funzione date_format che però funziona solo con i tipi datetime e non con timestamp.

    come posso risolvere il problema?


    ciaoe e grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    prova così
    select date_format(from_unixtime(tuo_timestamp),"%d-%m-%Y");

  3. #3
    ma non puoi semplicemente salvarci sempre il timestamp (magari anche come intero..) e poi usare la funzione date di php per prendere i dati che ti interessano?

  4. #4
    e se usassi il tipo datetime ma in inserimento o modifica del record passassi:


    id, titoolo, ecc, now()


    o una funzione che inserisce il now ?



    a proposito con now() non mi va, qual'è la funzione corretta?

    ciao e grazie

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non si capisce se parli di unix timestamp o di timestamp mysql...

  6. #6
    time () restituisce il timestamp attuale.

  7. #7
    il problema è:


    se nel database il tipo di dato è TIMESTAMP mi andrebbe benissimo per il fatto che si aggiorna automanticamente ad ogni variazione del record.
    il problema è che non riesco a prendere la sola data da questo valore di tipo timestamp.
    per capirci...select date_format(tipo_di_dato_timestamp, ....

    non funziona!!!!! date_format vuole solo un tipo DATETIME.




    ----------------------------------------------

    se metto nel database il tipo di dato DATETIME, mi va bene perchè posso usarci sopra la funzione date_format, ma devo trovare una funzione che quando faccio update del record scriva da sola data e ora dentro al campo, e:

    update ..... set data_e_ora = now() o curdate()


    stessa cosa per

    insert into xxxx values(, , , , , now())



    NON MI FUNZIONA!!!!!

    MI AIUTATE A TROVARE ALMENO UNA SOLUZIONE?
    GRAZIE CIAO

  8. #8
    beh, per prendere solo la data basta usare la funzione date:

    se assegnamo a $time il valore del time preso dal db, la funzione
    Codice PHP:
    date ("d-m-Y"$time); 
    ti restituirà giorno-mese-anno(4 cifre) relativi a $time

  9. #9
    se faccio come dici tu,


    PARLO DI TIPO TIMESTAMP NEL DATABASE,
    QUINDI $record[data_e_ora] è di tipo TIMESTAMP

    select.....
    $data_e_ora = $record['data_e_ora']
    date ("d-m-Y", $data_e_ora)


    mi torna 1-1-1970


    mahhhhhhhhhhhh


    PS: con now() l'inserimento in un campo DATETIME FUNZIONA





    ----------------------
    preferirei utilizzare TIMESTAMP nel database e utilizzzare una funzione che da un tipo TIMESTAP mi faccia tirare fuori la data




  10. #10
    scusa, ma che valore ha $data_e_ora ?

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.