• User Attivo

    questo:
    CREATE TABLE commenti (
    id INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    username VARCHAR( 30 ) NOT NULL ,
    commento VARCHAR( 500 ) NOT NULL ,
    data VARCHAR( 20 ) NOT NULL
    ) ENGINE = MYISAM ;

    poi nel 2' passaggio mi dice di creare la query in un'area di testo, lì dentro che devo scrivere?
    :?:()::bho:

    :ciauz:Grazie


  • User Attivo

    Allora lascia perdere, è solo il backup della struttura della tabella che ti diceva di eseguire la query se perdevi la tabella 😉

    Ora per inserire e visualizzare i dati nella tabella vedi il post 22 😉

    :gthi:


  • User Attivo

    Ciao Jeeves, funziona. Però nella data mi da problemi...

    Username: dada
    Commento: rtyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
    Data: 01-01-1970, 1:00:00

    come potrei aggiustare il problema della data giusta? poi più aggiorno e più si moltiplica l'ultimo post..... strano....

    Grazie di cuore poi quando ti sposi vengo a suonare al tuop matrimonio con il mio trombone :wink3:


  • User Attivo

    @Davide-Al said:

    Ciao Jeeves, funziona. Però nella data mi da problemi...

    Username: dada
    Commento: rtyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
    Data: 01-01-1970, 1:00:00

    come potrei aggiustare il problema della data giusta? poi più aggiorno e più si moltiplica l'ultimo post..... strano....

    Grazie di cuore poi quando ti sposi vengo a suonare al tuop matrimonio con il mio trombone :wink3:

    data VARCHAR( 20 ) NOT NULL
    credo che si qui' il problema...

    prova cosi'...
    data` datatime( 20 ) NOT NULL

    e nel form php gli dai valore NOW


  • User Attivo

    mi fai un esempio concreto?

    <?php
    include "config.php";
    $user=$_POST['username'];
    $commento=$_POST['commento'];
    // Connessione al database
    $comm = mysql_query("SELECT username, commento, data FROM commenti ORDER BY data");
    // Visualizzazione commenti
    while($com = mysql_fetch_assoc($comm)) {
    echo "<p>Username: ".$com['username']."<br>Commento: ".$com['commento']."<br>Data: ".date('d-m-Y, G:i:s', $com['data'])."</p>";
    }
    echo"messaggio inviato da: $user";
    $query = "INSERT INTO commenti (username, commento, data) VALUES ('$user', '$commento', '$data')";
    $esecuzione = mysql_query($query, $db);
    //PER LA DATA, PRIMA RICHIAMO LA FUNZIONE DATE: $data = date("D/F/Y")
    ?>
    <p>COMMENTO:
    <?php
    echo"$commento";
    ?>

    ti ringrazio


  • User Attivo

    @carlitos1982: se fai così non puoi più modificare il formato della data, invece con time() sì 😉

    @Davide-Al: il 1-1-1970, 1:00:00 e time() con valore 0 😉

    time() calcola i secondi passati da quella data 😉

    Quindi nel database, al campo data, devi inserire time(), non 0 😉

    Fammi sapere... 🙂

    :gthi:


  • User Attivo

    Errore

     **query SQL:**     
              CREATE  TABLE  `commenti` ( `id` INT( 11  )  UNSIGNED NOT  NULL  AUTO_INCREMENT  PRIMARY  KEY ,
    

    username VARCHAR( 30 ) NOT NULL ,
    commento VARCHAR( 500 ) NOT NULL ,
    data time( 20 ) NOT NULL
    ) ENGINE = MYISAM
    **Messaggio di MySQL: **
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( 20 ) NOT NULL
    ) ENGINE = MYISAM' at line 5


  • User Attivo

    Errore

     **query SQL:**     
              CREATE  TABLE  `commenti` ( `id` INT( 11  )  UNSIGNED NOT  NULL  AUTO_INCREMENT  PRIMARY  KEY ,
    

    username VARCHAR( 30 ) NOT NULL ,
    commento VARCHAR( 500 ) NOT NULL ,
    data datatime( 20 ) NOT NULL
    ) ENGINE = MYISAM
    **Messaggio di MySQL: **
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'datatime( 20 ) NOT NULL
    ) ENGINE = MYISAM' at line 5


  • User Attivo

    Davide-Al, la query che crea la tabella è quella del post 22 ;), non altre query 😉

    time() di php è quello che devi inserire nel campo data quando si aggiunge un commento, vedi sempre al post 22 😉

    :gthi:


  • User Attivo

    :giggle: funziona benissimo grazie sei grande nn avevo fatto caso a una cosa nel codice... grazie...

    Una cosa che vorrei corregere è che quando aggiorno la pagina di replica l'ultimo post con secondi diversi ovviamente. Secondo me quando aggiorno nn fa altro che interagire cn il database e duplica l'ultimo commento.... strano..... :mmm:


  • User Attivo

    Lo sai perché avviene? Perché tu la query che inserisce i commenti e la query che li visualizza li fa nello stesso file, ma invece se fai un file per vedere i commenti e un file per aggiungere i commenti tutto questo non succede 😉

    :gthi:


  • User Attivo

    ok provo a separare le parti e ti faccio sapere


  • User Attivo

    Ciao Jeeves ma perchè quando faccio un nuovo commento mi esce prima una data sbagliata...
    e poi il commento giusto? forse ho due funzioni diverse insieme?

    Username: davide
    Commento: 3333333333333333333333
    Data: 01-01-1970, 1:00:00
    Username: davide
    Commento: 3333333333333333333333
    Data: 03-07-2008, 19:35:50
    messaggio inviato da: davide
    COMMENTO: 444444444444444444444444

    questo è il file.php

    <?php
    include "config.php";
    $user=$_POST['username'];
    $commento=$_POST['commento'];
    // Connessione al database
    $comm = mysql_query("SELECT username, commento, data FROM commenti ORDER BY data");
    // Visualizzazione commenti
    while($com = mysql_fetch_assoc($comm)) {
    echo "<p>Username: ".$com['username']."<br>Commento: ".$com['commento']."<br>Data: ".date('d-m-Y, G:i:s', $com['data'])."</p>";
    }
    echo"messaggio inviato da: $user";
    $query = "INSERT INTO commenti (username, commento, data) VALUES ('$user', '$commento', '$data')";
    $esecuzione = mysql_query($query, $db);
    //PER LA DATA, PRIMA RICHIAMO LA FUNZIONE DATE: $data = date("D/F/Y")
    mysql_query("INSERT INTO commenti (username, commento, data) VALUES("".$username."", "".$commento."", "".time()."")");
    ?>
    <p>COMMENTO:
    <?php
    echo"$commento";
    ?>

    nn riesco a capire l'errore :mmm:


  • User Attivo

    Lo sai perché? Perché se vai a vedere nel phpmyadmin il contenuto della tabella, dove vedi 1-1-1970, 1:00:00, alla voce data sta 0?

    Invece lo devi sostituire con i veri secondi passati da quella data, che te li dà time() di php 😉

    Poi, devi eseguire una sola query per inserire i dati nel database, e sta sempre al post 22 😉

    :gthi:


  • User Attivo

    Comunque ti faccio io una bozza dei file:

    scrivicommenti.php

    [php]<?php
    include("config.php");
    $user = $_POST['username'];
    $commento = $_POST['commento'];
    // Connessione al database
    if($user == "" || $commento == "") {
    echo "Non hai compilato tutti i campi";
    } else {
    mysql_query("INSERT INTO commenti (username, commento, data) VALUES("".$username."", "".$commento."", "".time()."")"); // Query di inserimento dati
    }
    [/php]
    Ti consiglio di utilizzare un captcha comunque 😉


    vedicommenti.php

    [php]<?php
    include("config.php");
    $formatodata = "D/F/Y"; // Il formato della data quando la visualizzi

    // Connessione al database
    $comm = mysql_query("SELECT username, commento, data FROM commenti ORDER BY data");
    // Visualizzazione commenti
    while($com = mysql_fetch_assoc($comm)) {
    echo "<p>Username: ".$com['username']."<br>Commento: ".$com['commento']."<br>Data: ".date($formatodata, $com['data'])."</p>";
    }
    ?>[/php]

    Fammi sapere... 🙂

    :gthi:


  • User Attivo

    non riesco a seguirti scusa 😞
    il valore 0 nel database nn so dove andarlo a modoficare cn la data giusta..


  • User Attivo

    Ma aspetta, l'hai trovato? 😄

    Puoi usare mktime() per trasformare una data in secondi passati da quella data, ma con gli annunci non c'entra niente.

    Esempio: che data vuoi inserire? (e io ti do i secondi passati da quella data e ti faccio vedere come ho fatto;))

    :gthi:


  • User Attivo

    Ciao, ho provato in tutti i modi ma nn riesco ancora a risolvere il problema della prima data giusta. Ho provato sia al latyo database e sia al lato codice con i tuoi esempi, ma niente...

    il problema mi rimane sempre lo stesso:
    la prima data è sbagliata 1/1/1970
    e le altre giuste

    e quando aggiorno la pagina si duplica l'ultimo commento, e più aggiorno più si duplica..

    nn so come risolverlo, qualcuno mi può aiutare? per favore. Grazie a tutti


  • User Attivo

    Allora per ricavare i secondi passati da quella data a una che vuoi tu devi usare mktime() e poi lo inserisci dove nel database sta scritto 0.

    Esempio:

    [php]<?php
    // Inserisci i dati che vuoi e ti darà i secondi passati da quella data
    $giorno = "";
    $mese = "";
    $anno = "";
    $ora = "";
    $minuti = "";
    $secondi = "";

    // E qui te li fa vedere
    echo mktime($ora,$minuti,$secondi,$mese,$giorno,$anno);
    ?>[/php]

    Poi inserisci il numero di secondi che ti fa vedere nel database alla voce che a data sta scritto 0.

    :gthi:


  • User Attivo

    spiegati meglio, dici nel database dove sta scritto 0... !?!??? 🙂 è qui che nn capisco. Sicuramente ti riferisci a data. Ma non vedo 0 nelle caselle di data