• User Attivo

    Ciao, grazie, funziona. 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 ;

    l'ho importato come file.sql nel database e adesso devo eseguire la query, non so cosa scrivere....
    mi aiuti?


  • User Attivo

    Che cosa non sai scrivere...?

    Che query devi eseguire mo...?

    Ora devi eseguire nei file php la query per visualizzare i dati (al post 22) e quella per inserire i dati. Ovviamente su due file php diversi 😉

    :gthi:


  • User Attivo

    dop che ho importato il file .sql che mi hai dato nel secondo passaggio mi dice esegui la query con una grande area di testo... guarda la foto in allegata al primo post della 2' pagina, grazie 🙂


  • User Attivo

    Ok, che cosa sta dentro il file .sql?

    :gthi:


  • 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..