Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/07/2010, 12:05
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
problema al modificar daos en mysql!!

hola.

Que en vez de modificarme un registro entero(todos sus campos o los que yo cambie no tienen por que ser todos) no me modifica ese registro si no que me lo duplica con los cambios...pongo el codigo para que me digais que estoy haciendo mal..

(será por que no e usado el where en la sentencia mysql en el php?).


el proceso es el siguiente.

1º selecciono un distribuidor para que me carge los datos en el formulario

2º modifico lo que quiera del formulario para modificar ese distribuidor

3º le doy al boton enviar del formu y entonces se me deberia de cambiar ese distribuidor.
Código:
<div id=capaexpansion3>
<h2>Modificar Distribuidor</h2>
<form method="post" action="">


<ul>
<li>Selecciona un Distribuidor :
<?php
//la sintaxis de sql varia de como estes conectándote a la base de datos
$conexion= mysql_connect("localhost", "root", "");

mysql_select_db("abcerotica", $conexion);
$SQL = "SELECT nombre FROM distribuidor ORDER BY nombre ASC";
$RES = mysql_query($SQL,$conexion);

//abres el select
echo "<select name='distribuidor' id='proveedor'><option value=''>Seleccione un distribuidor</option>";

while($row = mysql_fetch_row($RES)){
	//por cada proveedor que encuentre lo muestra en la lista desplegable
	echo "<option value='". $row[0] ."'>". $row[0] . "</option>";
	
}
//cierras el select
echo "</select>"; 
?>
</li>

<li><input type="submit" name="enviarmodificacion" value="Enviar" id="boton">

</li>
</ul>
</form>
<?php if (isset($_POST["enviarmodificacion"])) {
	$dato=$_POST['distribuidor'];
	$conexion= mysql_connect("localhost", "root", "");
	
	mysql_select_db("abcerotica", $conexion);
	
	
	$SQL = "select * from distribuidor where nombre like '%".$dato."%'";
	$RES = mysql_query($SQL,$conexion);
	
	while ($fila= mysql_fetch_assoc($RES)){
		$campo1=$fila['nombre']; 
		$campo2=$fila['email']; 
		$campo3=$fila['telefono']; 
		$campo4=$fila['comentario']; 
		
	}
}
?>

<form method="post" action="">
<ul>

<li>	Nombre: <input type="text" name="nombre" id="nombre3" value="<?php echo $campo1?>" size="40"></li>
	
	<li>Email: <input type="text" name="email" id="email3"  value="<?php echo $campo2?>" size="40"></li>
	
	
	<li>Telefono: <input type="text" name="telefono" id="telefono3" value="<?php echo $campo3?>" size="9"></li>


<li>Comentarios:

<textarea cols="30" rows="7" name="comentario" id="comentarios3"> <?php echo $campo4?></textarea>	
</li>


<li>

<input type="submit" name="enviar1" value="Enviar"id="enviar3">
</li>
</ul>
</form>
<?php if (isset($_POST["enviar1"])) {
	$nombre=$_POST['nombre'];
	$email=$_POST['email'];
	$telefono=$_POST['telefono'];
	$comentario=$_POST['comentario'];
	
	
	$conexion= mysql_connect("localhost", "root", "");
	
	mysql_select_db("abcerotica", $conexion);
	
	$sql = "UPDATE distribuidor SET nombre='$nombre', email='$email',".
		"telefono='$telefono', comentario='$comentario'";
	$result = mysql_query($sql);
}else{
	echo "no se a modificado nada";
}

	?>
</div>