- Home
- Categorie
- Coding e Sistemistica
- PHP
- Date per ogni singolo form
-
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.
-
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....
-
@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.
-
Penso di aver capito, adesso faccio un prova e posto il codice se non riesco.
Grazie.
-
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
-
Adesso non ti capisco ...... se scrivessi il codice mi risulterebbe più chiara la situazione.
-
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?
-
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.
-
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]
-
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.