- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problema prelevamento id
-
Problema prelevamento id
salve a tutti , ho un problema con una pagina in php, in pratica io ho un database dove inseirsco i dati di un certo cliente poi attraverso una pagina di ricerca fatta in html con codice php mi cerca se il cliente esiste o se non esiste se esiste mi manda ad un'altra pagina che mi fa visualizzare e modificare i dati del cliente ora la parte della visualizzazione ancora la devo fare , ho provato a fare quella della modifica però quando vado tipo a modificare il nome , nel database mi modifica il nome di tutti i record io invece volgio che mi modifica il nome della persona che ho cercato.... posto il codice:
<html> <?php $db_host="localhost"; $db_Nutente="root"; $db_password=""; $db_name="campingshop"; $mysql=mysql_connect($db_host,$db_Nutente,$db_password)or die("non riesco a connettermi"); mysql_select_db($db_name,$mysql)or die("non riesco a trovare il DB"); $nome=$_POST["nome"]; $cognome=$_POST["cognome"]; $codicefiscale=$_POST["codfisc"]; $indirizzo=$_POST["indirizzo"]; $telefono=$_POST["telefono"]; $black=$_POST["black"]; $query= "UPDATE persona SET "; if($nome != ''){ $query .= "nome = '$nome'"; } if($cognome != ''){ $query .= "cognome = '$cognome'"; } if($codicefiscale != ''){ $query .= "codicefiscale = '$codicefiscale'"; } if($indirizzo != ''){ $query .= "indirizzo = '$indirizzo'"; } if($telefono != ''){ $query .= "telefono = '$telefono'"; } if($black != ''){ $query .= "black = '$black'"; } $result = mysql_query($query) or die("Errore nell'inserimento dei dati nel DataBase"); echo" Modifica Riuscita"; echo"<br>"; echo"<a href='./ricerca.html'>Cerca un altro cliente"; echo"<br>"; echo"<a href='./registra.html'>Registra un altro cliente"; ?> ```io ho pensato di recuperare l'id però non so come fare dato ke ho messo un id AUTO_INCREMENT poi vorrei fare la visualizzazione prima di modificare i dati grazie a tutti
-
Dovrebbe bastare una cosa del tipo:
print("L'ultimo id inserito è l'id:".mysql_insert_id());
Pagina di riferimento:
it.php.net/manual/it/function.mysql-insert-id.php
-
@il_gege said:
Dovrebbe bastare una cosa del tipo:
>print("L'ultimo id inserito è l'id:".mysql_insert_id()); >```Pagina di riferimento: it.php.net/manual/it/function.mysql-insert-id.php no perchè cosi mi visualizza l'ultimo id, io voglio che una volta fatta la ricerca decido di andare alla pagina di modifica e modificare il cliente che ho cercato... però non voglio fa inseire l'id da tastiera ma voglio che lo recupera direttamente con una query
-
Fatico a capire...però...
Nell'update, l'id non viene toccato come lo fai te...
O meglio, prima dovresti fare la query di select con i valori di partenza per recuperare l'id, poi nell'update fai l'update WHERE ColonnaID = IDRecuperato.
-
Ciao,
nella pagina col form di modifica presumo che dal db tu recuperi tutti i dati di quella persona visualizzandoli nei vari campi input.
Oltre ai dati con la stessa query è sufficiente che prelevi anche l'id e lo inserisci in un campo input con nome "id" e di tipo "hidden", che come gli altri potrai recuperare dal post:
[PHP]
$id=$_POST["id"];
[/PHP]Quando fai l'update aggiungi in fondo alla query la condizione
[PHP]
$query .= " WHERE id = '$id";
[/PHP]Alessandro
-
Hai dimenticato un apice singolo
[PHP]$query .= " WHERE id = '$id"; [/PHP]
E cmq meglio farlo un mysql_real_escape_string($id) prima di metterlo nella query.
-
grazie ora ci provo