Hola!! He visto un mensaje abierto con el mismo tema, pero a mi no se porque no me funciona.
Tengo una página para listar y modificar y otra donde me recoge los valores modificados para hacer el update (igual que Truji_9 creo) y el problema es que no me da error, pero le de al registro que le de para modificar hace el update al último, es decir:
Si cambio los valores del ultimo registro y le doy a modificar me los modifica, pero si cambio los valores de cualquier otro registro y le doy a modificar me sale el UPDATE.. SET pero con los valores del ultimo registro y me actualiza el ultimo registro con los valores que ya tenia (claro, porque no los he cambiado), bueno dejo aqui el código y a ver si me podeis ayudar. Muchísimas gracias:
modicontacto.php
<h2 align="center">MODIFICAR UN CONTACTO </h2>
<form id="form1" name="form1" method="post" action="modicontacto.php">
<label>Seleccionar CENTRO:
<select name="centro">
<option></option>
<?php
do {
?>
<option value="<?php echo $row_regicentro['Centro']?>"><?php echo $row_regicentro['Centro']?></option>
<?php
} while ($row_regicentro = mysql_fetch_assoc($regicentro));
$rows = mysql_num_rows($regicentro);
if($rows > 0) {
mysql_data_seek($regicentro, 0);
$row_regicentro = mysql_fetch_assoc($regicentro);
}
?>
</select>
</label>
<p>
<label>Persona a buscar:
<input name="nombre" type="text" size="35" maxlength="35" />
</label>
</p>
<label>
<input type="submit" name="btaceptar" value="Aceptar" />
</label>
</form>
<?php
if (isset($_POST['btaceptar']))
{
$Centro=$_POST['centro'];
$Nombre=$_POST['nombre'];
if ($Centro and $Nombre)
{
$consulta="SELECT *
FROM `contacto` where Centro='".$Centro."'
AND Nombre LIKE '%".$Nombre."%' ;";
}
elseif ($Centro)
{
$consulta="SELECT *
FROM `contacto` where Centro='".$Centro."';";
}
elseif ($Nombre)
{
$consulta="SELECT *
FROM `contacto` where Nombre LIKE '%".$Nombre."%' ;";
}
else
{
$consulta="SELECT * FROM `contacto`;";
}
$result_cons=mysql_query($consulta);
$num=mysql_num_rows($result_cons);
if ($num==0)
{
echo "<center><h2>En su busqueda se han encontrado $num resultados";
echo "<BR/><h2>Por favor vuelta a intentarlo</h2></center>";
echo "<table border=0 align='center' WIDTH='50%'>";
echo "<tr><td width='50%'align='center'>";
echo "<form method='get' action='http://boms.osakidetza.net/'>
<input type='submit' value='Ir a BOMS' />
</form>";
echo "</td>";
echo "<td align='center'>";
echo "<form method='POST' action='Buscatelefonos.php?'>
<input type='submit' value='Ir al inicio' />
</form>";
echo "</table>";
echo "</tr></td>";
}
else
{
if ($Centro)
{
echo "<center><h3>Estos son los Teléfonos de $Centro :</h3></center>";
}
elseif ($Nombre)
{
echo "<center><h3>Estos son los Teléfonos que corresponden a la búsqueda de $Nombre :</h3></center>";
}
else
{
echo " ";
}
echo "<table border='1' align ='center' bordercolor='blue' cellpadding='4px' style='font-size:15px'>
<tr class='cabecera' align ='center' bgcolor='#F5ECB9'><td>Nombre</td><td>Teléfono</td><td>Teléfono Abreviado</td><td>Móvil</td><td>Correo</td><td>Ubicacion</td><td>Centro</td><td></td></tr>";?>
</p>
<p>
<form id="form" name="form" method="post" action="modificadocontacto.php">
<?php
for($i=0;$i<$num;$i++)
{
$fila=mysql_fetch_assoc($result_cons);
echo "<tr>";
echo "<td width='300px' height='50px' align='center'><input type='hidden' name='nombre' value='".$fila['Nombre']. "'/>" .$fila['Nombre']. "</td>";
echo "<td align='center' width='70px'>"?>
<input type="text" name="Telefono" value="<?php echo $fila['Telefono']?>" size="15" maxlength="35"/><?php "</td>";
echo "<td align='center' width='150x'>"?>
<input type="text" name="TelfAb" value="<?php echo $fila['TelfAbreviado']?>" size="15" maxlength="35"/><?php "</td>";
echo "<td align='center' width='200px'>"?>
<input type="text" name="Movil" value="<?php echo $fila['Movil']?>" size="15" maxlength="35"/><?php "</td>";
echo "<td align='center' width='200px'>"?>
<input type="text" name="Correo" value="<?php echo $fila['Correo']?>" size="15" maxlength="35"/><?php "</td>";
echo "<td align='center' width='200px'>"?>
<input type="text" name="Ubicacion" value="<?php echo $fila['Ubicacion']?>" size="15" maxlength="35"/><?php "</td>";
echo "<td align='center' width='200px'>"?>
<input type="text" name="Centro" value="<?php echo $fila['Centro']?>" size="15" maxlength="35"/><?php "</td>";
echo "<td align='center' width='100px'>"?><input name="btmodificar" type="submit" value="Modificar Registro" /><?php "</td>";
//echo "<td>";
//echo "<input type='hidden' name='nombre' value='".$fila['Nombre']. "'/>";
//echo "</td>";
echo "</tr>";
}
echo "</table>";
echo "<br />";
echo "<br />";
echo "<br />";
echo "<br />";
}
}
?>
</form>
modificadocontacto.php
<?php
if(isset($_POST['btmodificar']))
{
$Nombre= $_POST['nombre'];
$Telefono=$_POST['Telefono'];
$TelfAb = $_POST['TelfAb'];
$Movil = $_POST['Movil'];
$Correo = $_POST['Correo'];
$Ubicacion = $_POST['Ubicacion'];
$Centro = $_POST['Centro'];
$consulta1="UPDATE `contacto` set Telefono='$Telefono', TelfAbreviado='$TelfAb', Movil='$Movil', Correo='$Correo', Ubicacion='$Ubicacion', Centro='$Centro' where Nombre='$Nombre'";
echo $consulta1;
$modificar_cont=mysql_query($consulta1);
echo "<h2 align='center'>..El CONTACTO se ha <u>modificado</u> satisfactoriamente..</h2><BR/>";
}
else
{
echo "<legend align='left'>";
echo "<h2 align='center'>ERROR : El registro no se ha podido modificar</h2>";
echo "</legend>";
}
?>