Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problemas con Update

Estas en el tema de Problemas con Update en el foro de Mysql en Foros del Web. Hola amigos necesito que me ayuden a hacer un update , paso a explicar.En una tabla llamada articulos tengo estos campos arti_id , descripcion ,precio, ...
  #1 (permalink)  
Antiguo 29/05/2011, 08:04
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Problemas con Update

Hola amigos necesito que me ayuden a hacer un update ,
paso a explicar.En una tabla llamada articulos tengo estos campos
arti_id , descripcion ,precio, stk1, stk2, stk3, stk4
al hacer el update ejecuto la sentencia pero me trabo cuando tengo que actualizar el registro de aca (stk1, stk2, stk3, stk4) porque tengo que agregarle un valor a un campo segun un combo box
por ejemplo, si el usuario selecciona del combo box stk3 , necesito que un valor se actualize a stk3 , dejo el codigo
Código MySQL:
Ver original
  1. $sql2="update  articulos set  descripcion       = '$final',
  2.                                     precio       = '$prec[$i]',
  3.                                    
  4.                                     stk1      = stk1 + $can[$i]
  5.                                    
  6.                                     where arti_id='".$art[$i]."' "
  7. ;
Muchas gracias por su tiempo
Saludos
  #2 (permalink)  
Antiguo 29/05/2011, 08:20
Avatar de 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: Problemas con Update

Es un problema de programación, no de SQL. Tienes que hacer una construcción dinámica de las sentencias, lo que significa que debes elegir de dónde viene el valor para incluir ese sólo ese campo como origen del dato.
En tocas palabras, no puedes construir en una sola línea de PHP ese UPDATE, sino que debes usar un switch para evaluar cuál es el valor de combo elegido (supongo que eso sabes hacerlo) y agregar en consecuencia cuál es el campos de la tabla que lo pondrás para actualizar.
Normalmente esto deberías preguntarlo en el Foro de PHP, porque no es asunto de errores de sentencias o cosas que se puedan resolver por SQL, pero te daré un tip aproximado:
Código PHP:
Ver original
  1. $sql2 = "UPDATE articulos SET descripcion =  '$final',  ";
  2. $sql2 .= "precio = '$prec[$i]', ";
  3. switch ($select) {
  4.     case 0:
  5.         $sql2 .= "stk1 = stk1 + $can[$i] ";
  6.         break;
  7.     case 1:
  8.         $sql2 .= "stk2 = stk2 + $can[$i] ";
  9.         break;
  10.     case 2:
  11.         $sql2 .= "stk3 = stk3 + $can[$i] ";
  12.         break;
  13.     case 3:
  14.         $sql2 .= "stk4 = stk4 + $can[$i] ";
  15.         break;
  16. }
  17. $sql2 .= "WHERE arti_id = ".$art[$i];
¿Se entiende la idea?
Obviamente, para hacer esto necesitas un parámetro que te indique cuál fue la selección realizada, que en este caso estoy suponiendo que se puso en $select
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/05/2011, 09:12
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Problemas con Update

Buenisimo gracias por la respuesta
lo voy a hacer con switch
Saludos y gracias nuevamente

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 07:55.