Foros del Web » Programando para Internet » PHP »

Update que no actualice todos los campos

Estas en el tema de Update que no actualice todos los campos en el foro de PHP en Foros del Web. Qué tal? ¿Cómo puedo lograr que el update sólo rellene (actualice) los campos que el formulario manda SIN QUE BORRE LOS NO ACTUALIZADOS? Se entiende? ...
  #1 (permalink)  
Antiguo 01/07/2010, 20:29
Avatar de kmzero  
Fecha de Ingreso: octubre-2008
Mensajes: 43
Antigüedad: 11 años, 2 meses
Puntos: 0
Update que no actualice todos los campos

Qué tal?
¿Cómo puedo lograr que el update sólo rellene (actualice) los campos que el formulario manda SIN QUE BORRE LOS NO ACTUALIZADOS?
Se entiende?
Código PHP:
<?php//   ya probé con definir las variables a partir de la condición 
if ($_POST['nombre']!=""){

                          
$v1=$_POST['nombre'];}
//y haciendo el update a continuación,
mysql_query("UPDATE ".$tabla." SET Nombres='$v1', Apellidos= '$v2', Email2='$v3', Pass='$v4', Pass2='$v7' WHERE EmailUsuario = '$user_reg'"$connect);

?>
Los campos del query son todos los que tiene el formulario, el usuario rellenará algunos, y otros estarán vacíos, que significaría que no quiere actualizarlos. Pero la solución que pensé no sirve, ya que en la bd sigue apareciendo sólo el campo que rellené con el update y los que estaban rellenos, borrados!
Otra forma?
gracias!
  #2 (permalink)  
Antiguo 01/07/2010, 21:51
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 10 años
Puntos: 7
Respuesta: Update que no actualice todos los campos

Solo haz el update de los campos que quieres modificar.
Creando un string en donde concatenes los valores cada vez que preguntes por ellos si traes valor en el $_POST. y listo...
  #3 (permalink)  
Antiguo 02/07/2010, 09:33
Avatar de kmzero  
Fecha de Ingreso: octubre-2008
Mensajes: 43
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Update que no actualice todos los campos

aparenta ser fácil... pero como estoy empezando con esto, no entiendo lo que me dices. ¿qué concatenación debo hacer?Si defino las variables sólo si tienen contenido y luego ejecuto la sentencia, ¿no se supone que las variables que no existen (no estarían definidas) no deberían aparecer?
me podrías explicar un poco más?
  #4 (permalink)  
Antiguo 02/07/2010, 17:22
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 14 años, 9 meses
Puntos: 25
Respuesta: Update que no actualice todos los campos

no te va a actualizar nada por que la variable que pones en la condición no se encuentra definida o no existe.
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 02/07/2010, 18:15
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 10 años
Puntos: 7
Respuesta: Update que no actualice todos los campos

Voy a tratar de colocarte un ejemplo:

Suponte que tienes un $_POST con 4 campos, a saber: A, B, C y D.

harías algo así:

$str="UPDATE TUTABLE SET ";

if (!isset($_POST['A']))
{
if ($_POST['A']<>"")
{
$str.= " A=".$_POST['A'];
}
}
if (!isset($_POST['B']))
{
if ($_POST['B']<>"")
{
$str.= " B=".$_POST['B'];
}
}
if (!isset($_POST['C']))
{
if ($_POST['C']<>"")
{
$str.= " C=".$_POST['C'];
}
}
if (!isset($_POST['D']))
{
if ($_POST['D']<>"")
{
$str.= " D=".$_POST['D'];
}
}

luego
$str.=" where tus condiciones ";

Solo es un ejemplo tienes que colocarle "," entre campo y campo lo hice rápido para que lo utilices cuidado con eso....

Saludos
  #6 (permalink)  
Antiguo 06/07/2010, 12:08
Avatar de kmzero  
Fecha de Ingreso: octubre-2008
Mensajes: 43
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Update que no actualice todos los campos

Bueno gracias!!!!
estoy tratando de darle forma!

Etiquetas: borrar, campos, mysql, update
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 19:57.