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

    [PHP + MySQL] Salvare dei valori in un campo timestamp

    Ciao Ragazzi...

    io passo tramite un form con tre campi select (day, month, year) tre valori di data come immaginerete facilmente...

    codice:
    $day = $_GET['day'];
    $month = $_GET['month'];
    $year = $_get['year'];
    dunque, io vorrei salvare la data in una campo timestamp, in modo che possa poi elaborarle facilmente con PHP/MYSQL...

    qualcuno di voi conosce qualche esempio di codice da mostrarmi?

    io pensavo:
    codice:
    $data = "$year"."$day"."$month";
    
    $query = "INSERT INTO tabella (timestamp) VALUES ('$data')";
    se il mio campo timestamp, è di 14 cifre, posso omettere di inserire le ore,minuti e secondi? mysql, li imposta automaticamente a 00.00.00 o devo cmq farlo io col codice?

    PS. ho letto la pillola di piero.mac, ma non sono abbastanza ferrato in php da poter fare da solo...

    Grazie mille!!
    Francesco
    Ciao!

  2. #2
    Prova a dare uno sguardo ala funzione mktime sul manuale di php

  3. #3
    come ti dicevo, sono alle prime armi...

    e poi una cosa...

    se io ho un timestamp cosi:

    20050608000000

    come posso fare per estrarlo e segnare in una campo il valore corretto:

    08-06-2005 in italiano?

    Grazie mille!
    Francesco
    Ciao!

  4. #4
    scusa il post...

    il campo è un TIMESTAMP di MYSQL non unix timestamp...



    sorry...!



    Ciao!

  5. #5
    Se il timestamp e' UNIX, campo formato INT(10) UNSIGNED :
    codice:
    $data = "$year"."$day"."$month";
    
    $query = "INSERT INTO tabella (timestamp) 
              VALUES (UNIX_TIMESTAMP('$data') )";
    Se invece e' timestamp MySQL, campo formato TIMESTAMP:
    codice:
    $data = "$year"."$day"."$month";
    
    $query = "INSERT INTO tabella (timestamp) 
              VALUES ('$data') ";

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

  6. #6
    ciao piero...

    quello come vedi già lo facevo...
    ma vorrei anche sapere come estrarlo...

    Ciao!

  7. #7
    Originariamente inviato da fmortara
    se io ho un timestamp cosi:

    20050608000000

    come posso fare per estrarlo e segnare in una campo il valore corretto:

    08-06-2005 in italiano?
    codice:
    SELECT *, DATE_FORMAT(campo, '%d-%m-%Y') as data_it
    from tabella etc...

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

  8. #8
    siccome ho notato che tu sei il più alto esperto in campo di date di php e mysql del forum...
    colgo l'occasione per farti qualche altra domanda...

    se io voglio solo l'anno, faccio :
    SELECT *, DATE_FORMAT(campo, '%Y') as data_it
    from tabella etc...

    e cosi via per gli altri campi...

    ma perchè SELECT *, e non SELECT data, DATE_FORMAT ecc...
    dove data è il campo in TIMESTAMP di mysql che contiene il dato...

    poi, se voglio scorporare i dati per inserirli come dati di default in un form, che ha tre distinti campi input, come posso fare?
    devo per forza fare 3 query, o con un unioco select posso estrarre tutto?

    tipo, SELECT data, DATE_FORMAT (data, '%Y') DATE_FORMAT (data, '%m') ecc...

    anche se non saprei poi come assegnare i valori alle variabili...

    con la tua query:
    $var = mysql_query("SELECT *, DATE_FORMAT (data, '%d-%m-%Y')");

    ma poi?
    Ciao!

  9. #9
    è troppo complicato??


    Ciao!

  10. #10
    http://forum.html.it/forum/showthrea...hreadid=459634
    http://forum.html.it/forum/showthrea...hreadid=839754


    Se si posta una SELECT e si mette "*, altro " ... significa che si possono chiedere campi e risultati di funzioni. Si utilizza un alias con un nome diverso dal campo per poter estrarre una cosa e nello stesso tempo utilizzare anche il campo originale per l'ordinamento.

    Se devi estrarre un solo valore oppure tre valori distinti da una data puoi utilizzare tre volte DATE_FORMAT che ricordiamolo, da una data in formato "MySQL" rende una stringa a piacere, oppure estrarre i singoli valori con la funzione apposita. es.:
    codice:
    SELECT YEAR(data) as anno, 
    MONTH(data) as mese, 
    DAYOFMONTH(data) as giorno
    FROM TABELLA
    ORDER BY data DESC
    Oppure una stringa a piacere ... es:
    codice:
    SELECT DATE_FORMAT(data, 'Oggi è il giorno %d-%m-%Y e non piove') as oggi,
    DATE_FORMAT(data - interval 1 year, 
        'invece lo scorso anno %Y il giorno %d di %M pioveva') as ieri
    from tabella etc...
    come vedi si possono fare molte cose. Se poi osservi le nuove funzioni di mydql 4.1 sono ancora ulteriormente ampliate.

    Se invece estrai la data intera puoi sempre utilizzare list() ed explode() come indicato prima per riportare tutto all'origine
    di tre variabili.






    ps.... alto non tanto... 1,78 only...

    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.