Foros del Web » Programando para Internet » PHP »

Modificar Un Registro

Estas en el tema de Modificar Un Registro en el foro de PHP en Foros del Web. Tengo esta tabla: INDICE campo1 campo2 Editar Borrar 0 -------X -------X Editar Borrar 1 -------X -------X Editar Borrar 2 -------X -------X Editar Borrar 3 -------X ...
  #1 (permalink)  
Antiguo 28/12/2004, 08:12
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 3 meses
Puntos: 0
Modificar Un Registro

Tengo esta tabla:

INDICE campo1 campo2
Editar Borrar 0 -------X -------X
Editar Borrar 1 -------X -------X
Editar Borrar 2 -------X -------X
Editar Borrar 3 -------X -------X
Editar Borrar 4 -------X -------X

y tengo este codigo:

<html>
<body>
<form action="<?=$_SERVER[$PHP_SELF];?>" method="post" >
Nº Regitro: <input type="text" name="TxtModificar"><br>
campo1: <input type="text" name="campo1"><br>
campo2: <input type="text" name="campo2"><br>
<input type="submit" value="Modificar">
<?php
$id = $_POST['TxtModificar'];
$campo1 = $_POST['campo1'];
$campo2 = $_POST['campo1'];
if(isset($id)){
$enlace = mysql_connect("localhost", "basedatos", "contraseña") or die("No pudo conectarse : " . mysql_error());
mysql_select_db("basedato", $enlace) or die (mysql_error());

$result = mysql_query($sql);
$sql = "UPDATE tb1 SET campo1='$campo1', campo2='$campo2'";
$result = mysql_query($sql);
echo "Se modifico el registro $id correctamente!";
}
?>
</form>
</body>
</html>



LO KE ME PASA ES KE ME MODIFICA TODOOS LOS REGISTROS DE LA TABLA
Como puedo haser para ke solo me modifike el registro ke meto en la caja de txt?
  #2 (permalink)  
Antiguo 28/12/2004, 08:15
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Saludos.

Cada registro debería tener un IDentificador Único.

Entonces:

$sql = "UPDATE tb1 SET campo1='$campo1', campo2='$campo2'" WHERE id_unico = '$ID'";

Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #3 (permalink)  
Antiguo 28/12/2004, 09:08
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
A lo que dice Jose Molina se puede decir que para hacer un mantenimieto de registros es necesario tener un campo clave o Primary Key que sea de tipo Autoincrement(por poner un ejemplo ya tu decides el tipo y el nombre) para que puedas validar segun el paramentro o variable que envias de una u otra pagina PHP.

Saludos
  #4 (permalink)  
Antiguo 28/12/2004, 13:06
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
NOTA:

Efectivamente el campo clave es parte del diseño de una DB. Pero no siempre se usan estos campos clave para llevar a cabo un UPDATE.

Tienes que estudiar tu caso yaviz para saber que cosa debes poner en el WHERE. Por ejemplo si vas ha actualizar todos los registros que tengan cierto valor en cierto campo, no significa que ese campo por ley deba ser el campo clave.

De todas formas, si tu tabla no tiene campo clave deberías colocarlo pero mejor revisa primero que son y como se debe diseñar una DB.

Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:59.