- Home
- Categorie
- Coding e Sistemistica
- Coding
- Come modificare un campo record?
-
Ciao,
Dovresti postarmi la pagina per intero, in questo modo è impossibile trovare il problema.
-
Ciao, intendi postare la pagina "inserimento_dati"?
Perchè la pagina "modifica_dati_clienti" è tutta lì...
-
Postare la pagina di elaborazione completa.
-
Ciao, questa è la pagina.php "inserimento_dati", anche se vedi scrittto "elenco_clienti" non preoccuparti perchè nell'originale va tutto ok.
L'id_cl, il cognome e il nome li prendo da qui:
[PHP]$query="INSERT INTO elenco_clienti (
id_cl
cognome,
nome,
sesso,
data_di_nascita,
citta_di_nascita,
residenza,
stato_civile,
figli,
telefono_abitazione,
telefono_cellulare,
utente_da_contattare,
telefono_abitazione2,
telefono_cellulare2,
istruzione,
professione,
religione,
data_registrazione)
VALUES('" .
addslashes ( $_POST['id_cl'] ) . "', '" .
addslashes ( $_POST['cognome'] ) . "', '" .
addslashes ( $_POST['nome'] ) . "', '" .
addslashes ( $_POST['sesso'] ) . "', '" .
addslashes ( $_POST['data_di_nascita'] ) . "', '" .
addslashes ( $_POST['citta_di_nascita'] ) . "', '" .
addslashes ( $_POST['residenza'] ) . "', '" .
addslashes ( $_POST['stato_civile'] ) . "', '" .
addslashes ( $_POST['figli'] ) . "', '" .
addslashes ( $_POST['telefono_abitazione'] ) . "', '" .
addslashes ( $_POST['telefono_cellulare'] ) . "', '" .
addslashes ( $_POST['utente_da_contattare'] ) . "', '" .
addslashes ( $_POST['telefono_abitazione2'] ) . "', '" .
addslashes ( $_POST['telefono_cellulare2'] ) . "', '" .
addslashes ( $_POST['istruzione'] ) . "', '" .
addslashes ( $_POST['professione'] ) . "', '" .
addslashes ( $_POST['religione'] ) . "', '" . )";$risultato = mysql_query( $query ) or die ( "query '$query' fallita
" . mysql_error() );while ( $elenco_clienti = mysql_fetch_array( $risultato ) )
{
echo "<table>
<style>
table {
border: solid 2px #000000;
text-align: center;
}
td {
solid 1px;
color: Black;
background: #F1EBAD;
}
</style><tr> <td><b>ID:</b> " . stripslashes($elenco_clienti['id_cl']) . "</td></tr> <td><b>COGNOME:</b> " . stripslashes($elenco_clienti['cognome']) . "</td></tr> <td><b>NOME:</b> " . stripslashes($elenco_clienti['nome']) . "</td></tr> <td><b>SESSO:</b> " . stripslashes($elenco_clienti['sesso']) . "</td></tr> <td><b>DATA DI NASCITA:</b> " . stripslashes($elenco_clienti['data_di_nascita']) . "</td></tr> <td><b>CITTA' DI NASCITA:</b> " . stripslashes($elenco_clienti['citta_di_nascita']) . "</td></tr> <td><b>RESIDENZA:</b> " . stripslashes($elenco_clienti['residenza']) . "</td></tr> <td><b>STATO CIVILE:</b> " . stripslashes($elenco_clienti['stato_civile']) . "</td></tr> <td><b>FIGLI:</b> " . stripslashes($elenco_clienti['figli']) . "</td></tr> <td><b>TELEFONO ABITAZIONE:</b> " . stripslashes($elenco_clienti['telefono_abitazione']) . "</td></tr> <td><b>TELEFONO CELLULARE:</b> " . stripslashes($elenco_clienti['telefono_cellulare']) . "</td></tr> <td><b>UTENTE DA CONTATTARE:</b> " . stripslashes($elenco_clienti['utente_da_contattare']) . "</td></tr> <td><b>TELEFONO ABITAZIONE:</b> " . stripslashes($elenco_clienti['telefono_abitazione2']) . "</td></tr> <td><b>TELEFONO CELLULARE:</b> " . stripslashes($elenco_clienti['telefono_cellulare2']) . "</td></tr> <td><b>ISTRUZIONE:</b> " . stripslashes($elenco_clienti['istruzione']) . "</td></tr> <td><b>PROFESSIONE:</b> " . stripslashes($elenco_clienti['professione']) . "</td></tr> <td><b>RELIGIONE:</b> " . stripslashes($elenco_clienti['religione']) . "</td></tr>
[/PHP]
-
Ma questa pagina non ha nulla a che vedere con quella sopra...
-
In che senso?
-
La pagina che hai appena postato si occupa dell'inserimento e non dell'aggiornamento del record. Fanno anche riferimento a 2 tabelle differenti.
-
Per le tabelle differenti te l'ho detto, quello era uno script non aggiornato, dato che dietro di me avevo solo la penna, ma in quello originale coindidono, infatti funziona perfettamente.
-
Ciao! Ecco la pagina modifica_dati_clienti.php intera
Gli ho aggiunto l'isset.
[php]<?php
// Dati connessione al database
$db_host = 'localhost'; // Host - solitamente localhost
$db_utente = 'root'; // Nome utente del Database
$db_password = ''; // Password del Database
$db_nomedb = ''; // Nome del Database
// Effettua la connessione al database
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
mysql_select_db($db_nomedb);if (isset($_POST['id_cl']) && !empty($_POST['id_cl'])) {
$id=$_POST['id_cl'];
$cognome=$_POST['cognome'];
$nome=$_POST['nome'];
$query=mysql_query("UPDATE inserimento_dati SET cognome = '$cognome', nome = '$nome' WHERE id_cl = '$id_cl'");
$risultato = mysql_query($query) or die ("Query "$query" fallita ::: ".mysql_error());
echo "update eseguito";
}
else {
?>
<form method="post" action="modifica_dati_clienti.php">
<input type="hidden" name="id_cl"><br />
NOME <input type="text" name="nome"><br />
COGNOME <input type="text" name="cognome"><br />
<input type="submit" value="Invia" />
</form>
<?php } ?>
[/php]Non mi dà nessun errore, nè warning nè notice, mi fà compilare il form e mi rimanda al form, come da richiesta se l'update non è stato eseguito.
-
Perciò ora non ti da nessun errore ma non ti modifica i campi?
Nella tabella c'è il record con quell'id?
-
Nella tabella db c'è id_cl, nome e cognome...PINCO PALLO...ma non modifica nulla...mi riporta al form...
-
Ah, ti rimostra proprio il form.
Prova cosi:
[php]
<?php
// Dati connessione al database
$db_host = 'localhost'; // Host - solitamente localhost
$db_utente = 'root'; // Nome utente del Database
$db_password = ''; // Password del Database
$db_nomedb = ''; // Nome del Database
// Effettua la connessione al database
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
mysql_select_db($db_nomedb);if(isset($_POST['nome'])) {
$id=$_POST['id_cl'];
$cognome=$_POST['cognome'];
$nome=$_POST['nome'];
$query=mysql_query("UPDATE inserimento_dati SET cognome = '$cognome', nome = '$nome' WHERE id_cl = '$id_cl'");
$risultato = mysql_query($query) or die ("Query "$query" fallita ::: ".mysql_error());
echo "update eseguito";
}
else {
?>
<form method="post" action="modifica_dati_clienti.php">
<input type="hidden" name="id_cl"><br />
NOME <input type="text" name="nome"><br />
COGNOME <input type="text" name="cognome"><br />
<input type="submit" value="Invia" />
</form>
<?php } ?>
[/php]
Ma comunque $_POST['id_cl'] non ha alcun valore perchè l'input non ha alcun value perciò non potrà fare l'update di niente.
-
Mi rimostra sempre il form...
-
Non può essere, ma questa pagina si chiama modifica_dati_clienti.php?
-
No, scusami, mi dice:
Notice: Undefined variable: id_cl in c:\programmi\easyphp1-8\www\modifica_dati_clienti.php on line 15
Query "" fallita ::: La query e` vuotaMa perchè è vuota???
-
Te l'ho scritto prima:
$_POST['id_cl'] non ha alcun valore perchè l'input non ha alcun value perciò non potrà fare l'update di niente.
-
Avevo scritto male la pagina...una lettera digitata in più...scusami...ora:
Notice: Undefined variable: id_cl in c:\programmi\easyphp1-8\www\modifica_dati_clienti.php on line 15
Query "1" fallita ::: Errore di sintassi nella query SQL vicino a '1' linea 1
-
Ma il problema è l'id_cl? bisogna dagli un value? non credo...:?
-
Se non gli dai un value cosa vuoi passare? Passi una variabile senza valore...
-
Comunque nel codice mancava il "cl"...ora non mi dà più il notice...ma il resto come lo si risolve?