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>