Visualizzazione dei risultati da 1 a 10 su 10

Discussione: visualizzazione data

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    59

    visualizzazione data

    Salve, ho realizzato uno scriptino per un "libro degli ospiti".
    Sono alle prime armi, quindi non è bellissimo, però funziona.
    Il problema è che quando mi appare la pagina con tutte le firme la data mi viene visualizzata in formato timestampe tipo "1128895200".
    io vorrei che apparisse la data in un formato leggibile.
    Ho provato ad utilizzare la funzione date() in mille modi diversi ma non ottengo nessun risultato, anche perchè non so dove devo utilizzarla.
    Provo a scrivere il codice dei file...... qualcuno può indicarmi cosa devo fare..... Grazie

    Questo file si chiama insert.php e serve per raccoglierei dati dall'ospite
    <?php
    include ("config.inc.php");
    ?>
    <form method=post action=save.php>
    Data

    <select name=giorno>
    <?php
    for ($i=1; $i<=31; $i++)
    echo "<option value=$i>$i";
    ?>
    </select>
    <select name=mese>
    <option value=1>Gennaio
    <option value=2>Febbraio
    <option value=3>Marzo
    <option value=4>Aprile
    <option value=5>Maggio
    <option value=6>Giugno
    <option value=7>Luglio
    <option value=8>Agosto
    <option value=9>Settembre
    <option value=10>Ottobre
    <option value=11>Novembre
    <option value=12>Dicembre
    </select>
    <select name=anno>
    <option value=2005>2006
    <option value=2005>2007
    <option value=2005>2008
    </select>



    Username
    <input type="text" name="username">



    E-mail
    <input type="text" name="email">



    Testo


    <textarea cols=40 rows=20 name=testo></textarea>



    <input type =submit value=invia>
    </form>


    Questo file si chiama save.php ed inserisce i dati nel db

    <?php
    include ("config.inc.php");
    $username=$_REQUEST['username'];
    $email=$_REQUEST['email'];
    $testo=$_REQUEST['testo'];
    $giorno=$_REQUEST['giorno'];
    $mese=$_REQUEST['mese'];
    $anno=$_REQUEST['anno'];

    if (trim($username)=="" or trim($email)=="" or trim($testo)=="")
    {
    echo ("attenzione devi riempire tutti i campi");
    }
    else{

    $username = addslashes(stripslashes($username));
    $email = addslashes(stripslashes($email));
    $testo = addslashes(stripslashes($testo));
    $username = str_replace("<", "&lt;", $username);
    $username = str_replace(">", "&gt;", $username);
    $email = str_replace("<", "&lt;", $email);
    $email = str_replace(">", "&gt;", $email);
    $testo = str_replace("<", "&lt;", $testo);
    $testo = str_replace(">", "&gt;", $testo);


    $data = mktime("0", "0", "0", $mese, $giorno, $anno);

    $query= "insert into firme (data, username, email, testo) values ('$data','$username','$email','$testo')";

    mysql_query($query, $conn);}
    ?>

    Questo file si chiama guest1 e visualizza il libro degli ospiti

    <?php
    include ("config.inc.php");

    $query = "select id,data,username,email,testo from firme order by data desc";

    $risultato=mysql_query($query,$conn);

    echo "<table border=1 align=center width=70%>";
    while ($row=mysql_fetch_array($risultato)) {echo "<tr>";
    for ($i=0; $i<mysql_num_fields($risultato);$i++)
    echo "<td>".$row[$i]."</td>";
    echo "</tr>";
    }
    echo "</table>";
    mysql_close($conn);
    ?>

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

  3. #3
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    date('d/m/Y',1128895200);
    Ti restituisce la data nel formato voluto.

    Ma, curiosità mia, perchè l'utente che scrive il messaggio seleziona la data?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    59
    grazie Nicola ma puoi essere un pochino più preciso... dove devo inserire la funzione select from_unixtime() e che parametro devo inserire in campo_data??? Ci sto sbattendo la testa da un sacco di tempo e credo che sia una cosa banalissima....

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    59
    Originariamente inviato da VaLvOnAuTa
    date('d/m/Y',1128895200);
    Ti restituisce la data nel formato voluto.

    Ma, curiosità mia, perchè l'utente che scrive il messaggio seleziona la data?

    non deve selezionare la data la deve solo visualizzare in una tabella insieme allo username, alla mail e al testo del messaggio...... ho forse sbagliato qualcosa????

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da ludya
    grazie Nicola ma puoi essere un pochino più preciso... dove devo inserire la funzione select from_unixtime() e che parametro devo inserire in campo_data??? Ci sto sbattendo la testa da un sacco di tempo e credo che sia una cosa banalissima....
    se salvi le date nel db nel formato unix timestamp per averle in un formato leggibile o usi date come detto da valvonauta oppure usi la funzione che ti ho scritto direttamente nella query

    select id,from_unixtime(data,"%d-%m-%Y") as datait ,username,email,testo from firme order by datait desc

  7. #7
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Cioè tu vuoi che quando l'utente inserisce il messaggio venga memorizzata sul database anche la data di immissione?
    Perchè se è questo quello che vuoi, quel metodo è
    - il più scorretto
    - il meno sicuro


  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    59
    Originariamente inviato da VaLvOnAuTa
    Cioè tu vuoi che quando l'utente inserisce il messaggio venga memorizzata sul database anche la data di immissione?
    Perchè se è questo quello che vuoi, quel metodo è
    - il più scorretto
    - il meno sicuro

    Si si è esattamente quello che vorrei, così si può vedere quando è stato inserito in messaggio.... non so come fare altrimenti....io ho inserito nella tabella un campo data con queste caratteristiche data int(11)...

  9. #9
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Sei in tempo per modificare il campo?
    Sostituiscilo con un campo di tipo datetime e quando inserisci un messaggio fai la query in questo modo:
    "INSERT INTO `firme` (data, username, email, testo) VALUES (NOW,'$username','$email','$testo')";

    Dove NOW è una funzione SQL che inserisce direttamente la data attuale (quindi puoi anche togliere quegli input select nel form)
    Poi quando devi visualizzare la data, fai la select in questo modo:
    "SELECT id,DATE_FORMAT(data, '%d/%m/%Y %H:%i:%s') AS dataa,username,email,testo from firme order by data desc"

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    59
    Originariamente inviato da VaLvOnAuTa
    Sei in tempo per modificare il campo?
    Sostituiscilo con un campo di tipo datetime e quando inserisci un messaggio fai la query in questo modo:
    "INSERT INTO `firme` (data, username, email, testo) VALUES (NOW,'$username','$email','$testo')";

    Dove NOW è una funzione SQL che inserisce direttamente la data attuale (quindi puoi anche togliere quegli input select nel form)
    Poi quando devi visualizzare la data, fai la select in questo modo:
    "SELECT id,DATE_FORMAT(data, '%d/%m/%Y %H:%i:%s') AS dataa,username,email,testo from firme order by data desc"
    Ho fatto esattamente come dici.....ma ora mi da errore quando vado ad inserire il messaggio....
    ci deve essere qualcosa che non va....

    Questa è la query che ho usato per creare la tabella firme: è corretta la sintassi per la data???

    CREATE TABLE firme (id INT (5) UNSIGNED not null AUTO_INCREMENT, data datetime, username VARCHAR (30) not null , email VARCHAR (30) not null , testo VARCHAR (255) not null, PRIMARY KEY (id))

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.