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

    Domanda semplice x inserimento data in db

    Buongiorno!

    Devo creare una tabella per un db in cui inserire, tra le altre colonne, anche una che contenga date e poi devo creare uno script php che me mi crei la data.

    1) Siccome non sono molto pratico del formato della data, chi mi può dare lo script per assegnare alla variabile $data una data così scritta "Venerdi 01/06/84, ore 04:06"

    2) Che attributi deve avere la tabella che devo creare per quanto riguarda la colonna della data? Va bene questo "data VARCHAR (40) not null "

    Grazie
    Tom

  2. #2
    sei conscio del fatto che se inserisci una data in quel formato poi dovrai sudare 7 camice per fare un semplicissimo ordinamento?

    io ti consiglio di inserirla semplicemente nel formato date, o timestamp o qualsiasi altro formato valido (leggi la pillola nel regolamento, veramente chiara e utile ) così poi per l'ordinamento ti basta un semplice ORDER BY e morta lì; senza dover lavorare sulle stringhe, CAST, SUBSTR e chi più ne ha più ne metta.

    Potresti salvarti le altre informazioni (ad esempio il giorno in italiano) in un campo VARCHAR a parte.





    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    Ok, allora facciamo così.

    Mi dici allora:

    1) il php per salvare in timestamp

    2) il php per ricavare dal timestamp la data come l'ho chiesta sopra "lunedi 01/06/84 ore 09.34"

    3) Che attributi deve avere la colonna in cui andranno "inseriti i timestamp" della tabella dei db

    Grazie

  4. #4
    allora io per inserire la data ho definitola variabile così:
    $data = date('Y-m-d H:i:s');
    e sugli attributi della tabella ho messo:
    datetime NOT NULL

  5. #5
    Mi dispiace, ma mi serve la data in timestamp.

    Inoltra mi serve il php per ricavare dal timestamp la data scritta come ho detto sopra.

    E quindi mi servono gli attributi della colonna del db che deve accogliere il timestamp

    Chiunque potesse rispondermi rapidamente, altrimenti sono bloccato, gli bacio le mani!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Originariamente inviato da tommyacoustic19
    Ok, allora facciamo così.

    Mi dici allora:

    1) il php per salvare in timestamp

    2) il php per ricavare dal timestamp la data come l'ho chiesta sopra "lunedi 01/06/84 ore 09.34"

    Grazie
    Ti rispondo ai punti 1-2:
    Codice PHP:
    setlocale(LC_TIME,'ita');
    //ottieni il timestamp
    $timeStamp mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y'));

    //visualizza il giorno
    $giorno ucfirst(strftime("%A",$timeStamp))." ".date('d/m/Y')." ore: ".date('H:i');

    echo 
    "timesptamp : ".$timeStamp."
     giorno : "
    .$giorno
    Ti metto i link alle funzioni usate:
    http://it2.php.net/manual/it/function.strftime.php
    http://it2.php.net/manual/it/function.mktime.php
    http://it2.php.net/manual/it/function.date.php
    http://it2.php.net/manual/it/function.ucfirst.php


    ciao

  7. #7

    Mi dispiace....

    Ho inserito il tuo script per la visualizzazione qua sotto. c'è un problema: visualizza la data e l'ora del momento in cui si esegue lo script. E peraltro il giorno è in inglese.
    Come mai? Premetto che il timestamp è stato salvato correttamente.

    $query = "SELECT nome,email,data FROM newsletter ORDER BY data";

    $result = mysql_query($query, $db);
    $i=1;
    echo "NEWSLETTER
    ";
    echo "<table border=0>";
    while ($row = mysql_fetch_array($result))
    {
    $visualdata = ucfirst(strftime("%A",$row["data"]))." ".date ('d/m/Y')." ore: ".date('H:i');
    echo "<tr>";
    echo "<td align='left'>".$i."</td>";
    echo "<td align='left'>".$row["nome"]."</td>";
    echo "<td align='left'>".$row["email"]."</td>";
    echo "<td align='left'>".$visualdata."</td>";
    echo "</tr>";
    $i++;
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    penso che qui $row["data"] tu abbia la data nel formato timestamp, comunque, devi mettere
    Codice PHP:
    setlocale(LC_TIME,'ita'); 
    per visualizzare la data in italiano.

    Inoltre così com'è ti stamperà giorno ed orario odierno, ma se devi stampare quello relativo al timestamp, modifica così:

    Codice PHP:
    $visualdata ucfirst(strftime("%A",$row['data']))." ".date ('d/m/Y',$row['data'])." ore: ".date('H:i',$row['data']); 
    ciao

  9. #9

    Sebbene...

    Ora mi visualizza correttamente la data, ma la visualizzazione rimane in inglese, ovvero per esempio Venerdì viene scritto con "Friday".
    Ho messo setlocale dove vedi...
    Ti ringrazio infinitamente di seguirmi in questo problema!

    setlocale(LC_TIME,'ita');
    while ($row = mysql_fetch_array($result))
    {
    echo "<tr>";
    echo "<td align='left'>".$i."</td>";
    echo "<td align='left'>".$row["nome"]."</td>";
    echo "<td align='left'>".$row["email"]."</td>";
    echo "<td align='left'>".ucfirst(strftime("%A",$row["data"]))." ".date('d/m/Y',$row["data"])." ore: ".date('H:i',$row["data"])."</td>";
    echo "<td align='left'><a href=\"nlcancalert.php?id=$row[id]\"> " . " Cancella" . "</a> </td>";
    echo "</tr>";
    $i++;
    }
    echo "</table>";

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova a mettere:

    setlocale(LC_TIME,'it_IT');

    ....funziona così?

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.