aiuto con update

  • Creatore Discussione Creatore Discussione topolus
  • Data di inizio Data di inizio

topolus

Nuovo Utente
17 Dic 2008
9
0
0
salve a tutti ho un problema con il mio codice di php in partica io faccio una pagina di ricerca in php:
Codice:
<html>
<?php
session_start();
$db_host="localhost";
$db_Nutente="mysql";
$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"];


$query = "SELECT * FROM persona Where  nome='$nome' and cognome='$cognome'";
$result = mysql_query($query);
$numrow = mysql_num_rows($result);
	   if ($numrow ==1)
	   {
           $row = mysql_fetch_assoc($result);
             echo "il cliente esiste";
             echo"<br>";
             echo "<a href='./visualizza.php'>Visualizza dati Cliente</a>";
             echo"<br>";
             echo "<a href='./modifica.php'>modifica dati Cliente</a>";
            return  $row["id"];
	   }
else
{
 echo" Il cliente "; echo $nome; echo " " ; echo $cognome; echo" non  esiste";
echo"<br>";
echo "<a href='./registra.html'>Registra un nuovo Cliente</a>";
echo"<br>";
echo"<a href='./ricerca.html'>Cerca un altro Cliente"; 

}

?>
e una pagina di ricerca in html:
Codice:
<html>
<h1><div align="center">CAMPINGSHOP</h1></div>
<h4>Pagina per la ricerca di un cliente </h4>
<table border="0" cellspacing="1" cellpadding="0" width="300" bgcolor="#cccccc">
   
<tbody>

      <tr><form action="cerca.php" method="post">
   
      <td>
   
      <table border="0" cellspacing="1" cellpadding="3" width="100%" bgcolor="#ffffff">
  
      <tbody>
  
      <tr>
   
      <td colspan="3"><strong>Ricerca Cliente </strong></td>
  
      </tr>
 
      <tr>
 
      <td width="78">Nome</td>
  
      <td width="6">:</td>
  
      <td width="294"><input id="nome" name="nome" type="text" /></td>
  
      </tr>
  
      <tr>
  
      <td>Cognome</td>
  
      <td>:</td>
  
      <td><input id="cognome" name="cognome" type="text" /></td>
  
      </tr>
  
      <tr>
  
      <td></td>
 
      <td></td>
      
  
      <td><input name="Submit" type="submit" value="cerca" /></td>
</form>
      
      <form action="logout.php" method="post">
       
      <td><input name="Submit" type="submit" value="logout" /></td>
      
      </tr>
        
      </tbody></table>
  
      </td>
 
      </form></tr>
  
      </tbody></table>
</html>
ora se il cliente esiste allora posso andare a modificare i dati o visualizzari ...

modifica.php:
Codice:
<html>
<?php
$db_host="localhost";
$db_Nutente="mysql";
$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"; 

?>

modifica.html:
Codice:
 <html>
<h1><div align="center">CAMPINGSHOP</h1></div>
<h4>Modifica del cliente</h4>
      <table border="0" cellspacing="1" cellpadding="0" width="500" bgcolor="#cccccc">
   
      <tbody>
   
      <tr><form action="modifica.php" method="post">
   
      <td>
   
      <table border="0" cellspacing="1" cellpadding="3" width="100%" bgcolor="#ffffff">
  
      <tbody>
  
      <tr>
   
      <td colspan="3"><strong>MODIFICA CLIENTE </strong></td>
  
      </tr>
 
      <tr>
 
      <td width="80">Nome</td>
  
      <td width="6">:</td>
  
      <td width="294"><input id="nome" name="nome" type="text" /></td>
  
      </tr>
  
      <tr>
  
      <td>Cognome</td>
  
      <td>:</td>
  
      <td><input id="cognome" name="cognome" type="text" /></td>
  
      </tr>
      <tr>
  
      <td>Codice Fiscale</td>
  
      <td>:</td>
  
      <td><input id="codfisc" name="codfisc" type="text" /></td>
  
      </tr>
      <tr>
  
      <td>Indirizzo</td>
  
      <td>:</td>
  
      <td><input id="indirizzo" name="indirizzo" type="text" /></td>
  
      </tr>
      <tr>
  
      <td>Telefono</td>
  
      <td>:</td>
  
      <td><input id="telefono" name="telefono" type="text" /></td>
  
      </tr>
       <tr>
td>Black List</td>
  
      <td>:</td>
  
      <td><input id="black" name="black" type="text" /></td>
  
      </tr>
<td></td>
 
      <td></td>
      
      
      <td><input name="regcon" type="submit" value="Modifica Contatto" /></td>
</td>
  </tbody>
      
</form>
<form action="logout.php" method="post">
      <td><input name="submit" type="submit" value="Logout" /></td>
      
  <td></td>
</form>

io però quando vado a modificare il campo nome mi modifica il capo nome di tutti i clienti presenti nel database invece io vorrei che una volta effetuata la ricerca per esempio di antonio rossi e poi vado a modificare lui mi modifichi i campi solo di antonio rossi ...

poi volevo apportare una modifica cioè volevo mettere delle checkbox vicino a le caselle che volevo modificare e una volta selezionate andavo a modificare questi dati ... però la priorità è la prima parte

grazie
 
Devi aggiungere la clausola WHERE alla query di UPDATE che esegui:

WHERE nome='$nome' and cognome='$cognome'
 
Inoltre il modo in cui componi la query non va bene, non lasci gli spazi vuoti, infatti se il flusso entra in più di una condizione if la stringa che concateni verrà attaccata a quella preesistente senza lo spazio.
 
Inoltre il modo in cui componi la query non va bene, non lasci gli spazi vuoti, infatti se il flusso entra in più di una condizione if la stringa che concateni verrà attaccata a quella preesistente senza lo spazio.


la query mi dice modifica completa ma quando vado a vedere il database non è stata ftt alcuna modifica..... tu che suggeriresti di fare per il problema di if?
 

Discussioni simili