Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/10/2012, 06:42
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problema para actualizar con update

Cita:
Me comentas que debo crear la sentencia de modo que solo incluya el campo que vo ya modificar.
Bueno los dos campos pueden ser modificados , a veces sera uno y otras veces los dos.
Pero cuando solo se modifique uno el otro debe permanecer con los datos que ya tiene , ese es el problema.
Cita:
gnzsoloyo eso de :" no es tan dificil" sera para el que sabe, yo como no tengo tanto nivel
por eso acudo a tutoriales en internet y cuando no encuentro salida por ningun lado acudo a este genial foro.
Resalto estas dos cosas porque están relacionadas a la solución.
Cuando digo que no es tan difícil, me refiero a que no se necesitan grandes conocimientos ni mucha experiencia para solcionar problemas de este calibre. Sólo se necesita razonarlos, verlos, analizarlos como programador.
El uso de tutoriales, lamento decirtelo, no sirve absolutamernte de nada, porque no te ayudan a aprender a razonar los problemas como programador. Para eso sólo sirve hacer cursos reales de programación, donde sea. En esos cursos la idea no es aprender un lenguaje, sino por sobre todo a prender a razonar los problemas.
Piensalo de este modo: ¿Es tán difícil deducir que si tienes N campos que pueden actualizarse, deben evaluarse todos los campos por separado, e ir agregando sólo aquellos que se modificarán?
Para razonar un problema, no lo haces como una cosa total. Los desmenuzas en pasos (algoritmos), como por ejemplo:
Cita:
- Verificar si la variable A contiene algun valor.
- Si contiene algún valor:
* Verificar si la variable Q ya contiene algo.
* Si la variable Q contiene ya algo, agregarle el separador de bloques de asignación (la coma) .
* Agregarle la asignación al campo relacionado con A.
- Crear una cadena con la sentencia de actualización, insertando el contenido de Q en el bloque de asignaciones.
El primer conjunto de cinco lineas se repite N veces, tantas como variables haya que evaluar y campos posibles de modificar.
Llevar eso a prorgamación en realidad es extremadamente simple. La sintaxis dependerá del lenguaje y de tu habilidad para simplificarlo.
Puede terminar siendo algo tan simple como.
Código PHP:
Ver original
  1. $qry = "";
  2. if(isset($pantalon) && $pantalon!='')){
  3.     if $qry ==""
  4.  {.qry .= ', ';}
  5.     $qry .= 'pantalon = $pantalon
  6. '
  7. ;    
  8. }
  9. if(isset($camisa) && $camisa!='')){
  10.     if $qry ==""
  11.  {.qry .= ', ';}
  12.     $qry .= 'camisa = $camisa
  13. '
  14. ;    
  15. }
  16. if(isset($medias) && $medias!='')){
  17.     if $qry ==""
  18.  {.qry .= ', ';}
  19.     $qry .= 'medias = $medias
  20. '
  21. ;    
  22. }
  23. $qry = 'UPDATE tabla SET $qry WHERE id = $idbuscado';
Como puedes ver no es taaaan complicado, es un ejercicio tal que es muy probable que encuentres en cualquier tutorial básico. Simplemente tienes que desglosar el problema en partes y razonar cómo podrías hacer la menor cantidad de pasos para lograrlo.

Te he pasado el post a PHP, porque como puedes ver, el tema terminó siendo programación...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)