Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/05/2011, 08:20
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: 17 años, 3 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)