Foros del Web » Programando para Internet » PHP »

Duda sobre UPDATE

Estas en el tema de Duda sobre UPDATE en el foro de PHP en Foros del Web. Buenas, quiero hacer que un usuario en su panel pueda editar su info personal, para eso quiero usar UPDATE, como lo he echo para editar ...
  #1 (permalink)  
Antiguo 06/07/2011, 18:29
 
Fecha de Ingreso: febrero-2011
Mensajes: 124
Antigüedad: 9 años, 3 meses
Puntos: 4
Duda sobre UPDATE

Buenas, quiero hacer que un usuario en su panel pueda editar su info personal, para eso quiero usar UPDATE, como lo he echo para editar las noticias. aca la sentencia:

$sql = "UPDATE ".$_POST["categoria"]." SET id_producto='$id', titulo='$titulo', foto1='$foto1', precio='$precio', bmxomtb='$bmxomtb', peso='$peso', foto2='$foto2', foto3='$foto3', foto4='$foto4', foto5='$foto5', descrip='$descrip', descripcion='$descripcion' WHERE id_producto=$id";
Pero buenno, hay mas de 1 campo, y si el cliente quiere editar solo 1 y el resto lo deja vacio, claro edita bien el que el cliente ingreso, pero el resto que quedo vacio los updatea vacios...
Mi duda era que como se hace para que SOLO SI EL CLIENTE INGRESO UN VALOR lo updatee, de lo contrario no...
Gracias!
  #2 (permalink)  
Antiguo 06/07/2011, 18:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 14 años
Puntos: 2135
Respuesta: Duda sobre UPDATE

Pues simple, usa un UPDATE con solo el valor que quieres:
Código MySQL:
Ver original
  1. UPDATE tabla SET campo='valor' WHERE id=1

No es necesario que envies todos los campos a actualizar.

Saludos.
  #3 (permalink)  
Antiguo 06/07/2011, 18:39
Avatar de ricardo_tu  
Fecha de Ingreso: noviembre-2010
Ubicación: Mas aca del mas alla
Mensajes: 222
Antigüedad: 9 años, 6 meses
Puntos: 32
Respuesta: Duda sobre UPDATE

Una posible solución puede ser que antes del update hagas una consulta y llenes los campos a modificar con los datos existentes, así el usuario cambiará lo que estime y lo demás queda tal cual, luego haces el update.
__________________
La ciencia al poder. Pazciencia ya viene
  #4 (permalink)  
Antiguo 06/07/2011, 20:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 12 años, 6 meses
Puntos: 2656
Respuesta: Duda sobre UPDATE

Hay una forma, pero es algo complicada de escribir, por lo que para que se entienda será mejor hacerlo así:
Código PHP:
Ver original
  1. $sql = "UPDATE ".$_POST["categoria"]." ";
  2. $sql .= "SET ";
  3. $sql .= "    titulo=IF('$titulo'!='','$titulo', titulo) ";
  4. $sql .= "    precio=IF('$foto1'!='','$foto1', foto1) ";
  5. $sql .= "    bmxomtb=IF('$bmxomtb'!='','$bmxomtb', bmxomtb) ";
  6. $sql .= "    peso=IF('$peso'!='','$peso', peso) ";
  7. $sql .= "    foto2=IF('$foto2'!='','$foto2', foto2) ";
  8. $sql .= "    foto3=IF('$foto3'!='','$foto3', foto3) ";
  9. $sql .= "    foto4=IF('$foto4'!='','$foto4', foto4) ";
  10. $sql .= "    foto5=IF('$foto5'!='','$foto5', foto5) ";
  11. $sql .= "    descrip=IF('$descrip'!='','$descrip', descrip) ";
  12. $sql .= "    descripcion=IF('$descripcion'!='','$descripcion', descripcion)";
  13. $sql .= "WHERE id_producto=$id";
En esencia lo que hace esa consulta es verificar si el dato entrante es un vacío (''), si no está vacío, actualiza el campo con ese dato, y sino vuelve a poner el mismo dato en su propio campo.
Lo único que tienes esto es que es largo de escribir
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: 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 00:18.