• User Attivo

    Se ho ben capito il tuo problema avresti bisogno di due tabelle per fare questo.
    Una dedicata ai form. Es.: id - nome - tipo
    L'altra dedicata alle date (di cui parli) e/o altri eventuali elementi.
    La cosa sbagliata poi è che non avrai bisogno di UPDATE ma di INSERT di dati per i vari form.
    Così avrai ad ogni inserimento la data reale di quando è stato effettuato.
    Se hai ancora dubbi fatti risentire.


  • User Attivo

    Ciao, grazie per avermi risposto, una cosa che non mi è chiara come faccio a collegare poi i dati fra le due tabelle? tipo io ho la mia tabella dove inserisco i dati e ogni riga a il suo id come faccio poi a dire che a tipo l'id 80 corrisponde a x id della seconda tabella? non so se ho reso l'idea, attualmente ho diciamo rimediato, facendo diverse query per ogni form, ma penso che non sia la soluzione migliore....


  • User Attivo

    @Bivio said:

    Ciao, grazie per avermi risposto, una cosa che non mi è chiara come faccio a collegare poi i dati fra le due tabelle? tipo io ho la mia tabella dove inserisco i dati e ogni riga a il suo id come faccio poi a dire che a tipo l'id 80 corrisponde a x id della seconda tabella? non so se ho reso l'idea, attualmente ho diciamo rimediato, facendo diverse query per ogni form, ma penso che non sia la soluzione migliore....

    Come da esempio precedente.
    Tabella FORM: id - nome - tipo
    Tabella FORM_DATE: id - id_form - data - etc....
    Al campo id_form della tabella FORM_DATE corrisponderà l'id della tabella FORM.


  • User Attivo

    Penso di aver capito, adesso faccio un prova e posto il codice se non riesco.

    Grazie.


  • User Attivo

    Scusate doppio post ma non potevo editare il vecchio post.Comunque sono riuscito a capire come collegare le due tabella ecc...la cosa che non ho capito come faccio poi a inserire ogni singola data con una solo query


  • User Attivo

    Adesso non ti capisco ...... se scrivessi il codice mi risulterebbe più chiara la situazione.


  • User Attivo

    Si, scusami ma sto facendo un po di confusione, ecco un po di codice ho giusto creato un esempio per farti capire, e per vedere se va bene:
    File inserisci.php
    [HTML]
    <form name="form1" method="post" action="invia.php">
    <br><label>nome</label><input type="text" name="nome" id="nome"> </br>
    <br><label>cognome</label><input type="text" name="cognome" id="cognome"></br>
    <br><label>citta</label><input type="text" name="citta" id="citta"></br>
    <br><input type="submit" name="Invia" id="invia" value="Invia"></br>
    </form>
    [/HTML]
    invia.php
    [PHP]<?php
    $date = (date("d/m/Y H:i"));

    $conn = mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db('prova', $conn) or die(mysql_error());

    $sql = "INSERT INTO dati (nome,cognome,citta) VALUES ('$_POST[nome]','$_POST[cognome]','$_POST[citta]')";
    $sql2 = "INSERT INTO date (data_inserimento) VALUES ('$date')";

    $res = mysql_query($sql);
    $res2 = mysql_query($sql2);

    header("Location: home.php");
    ?>[/PHP]

    Fin qui tutto ok, ora la parte che ho un po di difficoltà e la modifica ecco i file:
    modifica.php
    [PHP]<?php

    $conn = mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db('prova', $conn) or die(mysql_error());

    $id = (int) $_GET['id'];
    $sql = "select * from dati where id = $id;";
    $sql1 = "select * from date where id = $id;";
    $res = mysql_query($sql);
    $row = mysql_fetch_array($res);
    $res1 = mysql_query($sql1);
    $row1 = mysql_fetch_array($res1);
    ?>
    <form name="form1" method="POST" action="edit.php">
    <br><label>id</label><input name="id" type="text" id="id" value="<?php echo $row['id']?>"> </br>
    <br><label>nome</label><input name="nome" type="text" id="nome" value="<?php echo $row['nome']?>"> </br>
    <br><label>cognome</label><input name="cognome" type="text" id="cognome" value="<?php echo $row['cognome']?>"></br>
    <br><label>citta</label><input name="citta" type="text" id="citta" value="<?php echo $row['citta']?>"></br>
    <br><label>Data Inserimento</label><input name="data_inserimento" type="text" id="data_inserimento" value="<?php echo $row1['data_inserimento']?>"></br>
    <br><label>Data nome</label><input name="data_nome" type="text" id="data_nome" value="<?php echo $row1['data_nome']?>"></br>
    <br><label>Data cognome</label><input name="data_cognome" type="text" id="data_cognome" value="<?php echo $row1['data_cognome']?>"></br>
    <br><label>Data citta</label><input name="data_citta" type="text" id="data_citta" value="<?php echo $row1['data_citta']?>"></br>
    <input type="hidden" value="<?php echo $_GET['id']?>" name="id" />
    <br><input type="submit" name="Invia" id="invia" value="Invia"></br>
    </form>[/PHP]

    edit.php

    [PHP]<?php

    $date = (date("d/m/Y H:i"));

    $conn = mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db('prova', $conn) or die(mysql_error());

    // preparo la query
    $sql = "UPDATE dati SET nome='$_POST[nome]', cognome='$_POST[cognome]', citta='$_POST[citta]' WHERE id='$_POST[id]'";

    $res = mysql_query($sql);

    header("Location: home.php");
    ?>[/PHP]

    home.php

    [PHP]<?php
    // mi connetto al database
    $conn = mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db('prova', $conn) or die(mysql_error());

    $sql = "SELECT * FROM dati";
    $res = mysql_query($sql, $conn);

    ?>
    <?php
    echo '
    <table border="1" cellpadding="3" cellspacing="3">
    <tr>
    <td><b>Nome</b></td>
    <td><b>Cognome:</b></td>
    <td><b>Citta</b></td>
    <td></td>
    <td></td>
    </tr>

    ';
    

    while ($row = mysql_fetch_array($res))
    {
    echo '
    <tr>
    <td>' . $row['nome'] . '</td>
    <td>' . $row['cognome'] . '</td>
    <td>' . $row['citta'] . '</td>
    <td><a href="modifica.php?id=' . $row['id'] . '">[modifica]</td>
    <td><a onclick="return(confirm('Attenzione: Sei sicuro di voler cancellare questo record?'))" href="delete.php?id=' . $row['id'] . '">[cancella]</a>
    </td>
    </tr>

    	';
    

    }

    echo '</table>

    ';

    ?>[/PHP]

    Con il codice postato riesco ad inserire e modificare i dati, l'unica difficoltà e come faccio ad inserire le date per gli altri campi?


  • User Attivo

    Secondo me hai ancora sbagliato il codice nel punto dolente.
    Ti faccio una domanda.
    Come recuperi l'id, della tabella dati, in modo da collegare la tabella date? Non ho visto variabili che ne fanno riferimento.
    La variabile di sistema che recupera l'ultimo "id" (autoincrement) è la seguente: mysql_insert_id().
    Da ciò adesso dovresti venirne a capo della situazione.
    Fammi sapere.


  • User Attivo

    Se ho capito bene intendi una cosa cosi?
    [PHP]<?php
    $date = (date("d/m/Y H:i"));

    $conn = mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db('prova', $conn) or die(mysql_error());

    ///
    $sql = "INSERT INTO dati (nome,cognome,citta) VALUES ('$_POST[nome]','$_POST[cognome]','$_POST[citta]')";

    $id = mysql_insert_id();

    $sql1 = "INSERT INTO date(id,data_inserimento) VALUES ('$id', '$date')";

    $res = mysql_query($sql);
    $res1 = mysql_query($sql1);

    header("Location: home.php");
    ?>[/PHP]


  • User Attivo

    OK. Ci siamo intesi.
    Adesso che hai collegato per ogni form un id univoco hai la possibilità di controllare ogni singolo aggiornamento ed altro ancora.
    Se avessi ancora bisogno sono a disposizione.