Foros del Web » Programando para Internet » PHP »

Acualizando lista de precios multiple !!!

Estas en el tema de Acualizando lista de precios multiple !!! en el foro de PHP en Foros del Web. Hola gente, ya no me da mas el cerebro ajjajajaja, Es asi lo que estoy tratando de hacer, tengo una lista de precios general y ...
  #1 (permalink)  
Antiguo 25/03/2010, 09:39
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Pregunta Acualizando lista de precios multiple !!!

Hola gente, ya no me da mas el cerebro ajjajajaja,

Es asi lo que estoy tratando de hacer, tengo una lista de precios general y otra que muestra tipo in historial, cada vez que hago una actualizacion de lista, tengo que pasar los valores al de al lado , algo asi:

precio1, precio2 y precio3.

En precio1, poner el valor de precio2
En precio2, poner el valor de precio3
Y en precio3, poner el valor nuevo actualizado.

Esto lo estoy haciendo de la siguiente manera, de la cual al fin de la actualizacion, me quedan los 3 precios iguales :(
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. $i=0;
  5. $resul = mysql_query("select * from piezas order by cod_pieza",$conexion);
  6.  
  7.     while($rows=mysql_fetch_array($resul))
  8.     {
  9.     echo $rows['nombre']; echo " ";
  10.     echo $precio1=$cad->preciopes[$i]; echo " "; // estos valores vienen de otra pagina, andan bien
  11.     echo $precio2=$cad->preciodol[$i]; echo "<br>";  // estos valores vienen de otra pagina, andan bien
  12.  
  13.     mysql_query("update piezas set precio_pesos='$precio1',
  14.                                     precio1=$rows['precio2'],
  15.                                     precio2=$rows['precio3'],
  16.                                     precio3='$precio1'
  17.                                     where cod_pieza='$rows[cod_pieza]'",$conexion) or
  18.  die("Problemas en el update:".mysql_error());
  19.  
  20. $i++;
  21.  
  22.     }
  23.        
  24. echo "<h2><center><b>Actualizacion Realizada, Puede continuar !!!</b></center><h2>";
  25. ?>


Algo estoy haciendo mal, y no puedo saber que es ???

Saludos y Gracias, Ricardo !!!!
__________________
Mail: [email protected]
  #2 (permalink)  
Antiguo 25/03/2010, 10:06
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Acualizando lista de precios multiple !!!

Creo que es en la consulta, y con esa mezcla de variables te deberia salir un error brutal, asi lo llamaría yo. En la parte:

update piezas set precio_pesos='$precio1',
precio1=$rows['precio2'],
precio2=$rows['precio3'],
precio3='$precio1'
where cod_pieza='$rows[cod_pieza]'

Se nota a leguas que precio_pesos, precio1, precio2 y precio3 no son numericos sino algun tipo de varchar, ya que le pasas comillas, entonces precio_pesos='$precio1' estaría bien, aunque YO personalmente cuando meto una variable en comillas internas (sean dobles o simples) las prefiero hacer por fuera, es decir: precio_pesos='".$precio1."' para que no hayan problemas, es algo persona.

Luego veo que precio1 y precio2 le estas pasando valores enteros y fuera de eso estas usando comillas simples dentro, entonces, yo creo que debería ser así: precio1='".$rows['precio2']."', de esta forma ya estaría quitandome un posible problema de comillas y reconocimiento de valores de la variable y estaría pasandole valores tipo string, lo mismo aplica para precio2, y lo mismo para el where, where cod_pieza='".$rows[cod_pieza]."'

Aunque no entiendo por que pasa $rows[cod_pieza], no entiendo que es eso, debería ser $rows[N], donde N sea la posición del campo en la columna, para esto recomiendo hacer la columna con los valores, es decir, select cod_pieza, campo2, etc from... y entonces ahi si usar el $rows[0] ya que cod_pieza estaría en la posición 0.

Espero que me hayas entendido. Saludos
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 25/03/2010, 11:18
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Acualizando lista de precios multiple !!!

Cita:
Iniciado por lobo_php Ver Mensaje
Aunque no entiendo por que pasa $rows[cod_pieza], no entiendo que es eso, debería ser $rows[N], donde N sea la posición del campo en la columna, para esto recomiendo hacer la columna con los valores, es decir, select cod_pieza, campo2, etc from... y entonces ahi si usar el $rows[0] ya que cod_pieza estaría en la posición 0.
Gracias por tu respuesta lobo !!!

La verdad que no se, pero asi me lo guarda bien !!!! o sea como que lo guarda por cod_pieza.



Lo que no me hace bien es que de la lista los valores:

de precio3 pasen a precio2
los de precio2 a precio1

las de precio3 las hace bien.


Saludos, Ricardo.
__________________
Mail: [email protected]
  #4 (permalink)  
Antiguo 25/03/2010, 12:23
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Acualizando lista de precios multiple !!!

Ya pille por qué, por que no debes asignarles $rows['precio1'], sino que debes asignarles $precio1, etc.

Es decir:
update piezas set precio_pesos='$precio1',
precio1='".$precio1."',
precio2='".$precio2."',
precio3='".$precio3."'
where cod_pieza='$rows[cod_pieza]'

¿Por qué? por que ya estas definiendo: $precio1=$cad->preciopes[$i]; etc.
Entonces ya las variables $precio1 y $precio2 llegan con los valores debidos.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #5 (permalink)  
Antiguo 26/03/2010, 09:47
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima, Perú
Mensajes: 136
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Acualizando lista de precios multiple !!!

Puedes poner las estructura de las tablas y mencionar la logica de negocios, es decir porque y cual es el objetivo de querer hacer lo que estas haciendo

Gracias
  #6 (permalink)  
Antiguo 26/03/2010, 11:09
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Acualizando lista de precios multiple !!!

El tema es asi, la tabla tiene

cod_pieza / nombre / precio_pesos / precio1 / precio2 / precio3

precio_pesos = es el precio actual, que se guarda ahi despues de hacer una serie de calculos en un form.
precio1, precio2 y precio3, los quiero usar para ver los precios tipo historial.


cada vez que hago esa serie de calculos lo que necesito es que se pasen los precios de una columna a la otra.

por ejemplo

el 21-01-2010 hago una actualizacion de precios entonces
precio_pesos=$3.55
precio1=$0.00
precio2=$0.00
precio3=$3.55


el 29-01-2010 hago otra actualizacion de precios entonces
precio_pesos=$3.99
precio1=$0.00
precio2=$3.55
precio3=$3.99


el 05-02-2010 hago otra actualizacion de precios entonces
precio_pesos=$4.55
precio1=$3.55
precio2=$3.99
precio3=$4.55


el 15-02-2010 hago otra actualizacion de precios entonces
precio_pesos=$4.95
precio1=$3.99
precio2=$4.55
precio3=$4.95



Y asi sucesivamente en cuanto haga esa actualizacion, es como que se van pasando los precios de columna en columna !!!

Entonces de esa manera se a que precio estaba algun producto en las ultimas actualizaciones
Espero haberme explicado con el ejemplo !!!

Saludos, Ricardo !!!
__________________
Mail: [email protected]
  #7 (permalink)  
Antiguo 26/03/2010, 14:53
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima, Perú
Mensajes: 136
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Acualizando lista de precios multiple !!!

Te pedí la la estructura de tu porque pienso que puede haber otra salida, y la hay, te la comento:
tabla pieza:
codigo
nombre
precio

tabla precios:
id (autonumerico)
id_pieza
precio
fecha (opcional)

La ida es que al ingresar el ultimo precio, updatees la tabla piezas y realices un insert a la tabla precios. Eso hara que si quieres saber el precio actual de un grupo de piezas no tengas que hacer un a consulta en la tabla precios, y si quieres ver el historial de los precios de un producto ( o varios productos) hagas una consulta en la tabla precios. Ambas acciones en el entorno empresarial son independientes (la consulta del precio actual y el historial del precio), si deseas puedes juntarlos, pero te recomiendo que lo manejes por separado.

Cuando quieras saber el historia solo es cuestion que hagas al consulta poniendole un LIMIT en forma DESC (si no me equivoco).

Yo trabajo de esa manera con los movientos del almacen. Saludos
  #8 (permalink)  
Antiguo 27/03/2010, 04:50
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Acualizando lista de precios multiple !!!

Hola dantrix, es bueno lo que me comentas, en un principio lo habia pensado hacer asi.

El tema es el siguiente, necesito tener por ejemplo un historial de 3 precios.

El problema se me plantea cuando hago el update, y paso los precios de columnas como puse en ejemplo anterior.

La semana que viene con mas tiempo voy a probar de hacer otra tabla, a ver como funciona.

Saludos, Ricardo.
__________________
Mail: [email protected]
  #9 (permalink)  
Antiguo 27/03/2010, 07:22
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima, Perú
Mensajes: 136
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Acualizando lista de precios multiple !!!

Cita:
Iniciado por colote Ver Mensaje
Hola dantrix, es bueno lo que me comentas, en un principio lo habia pensado hacer asi.

El tema es el siguiente, necesito tener por ejemplo un historial de 3 precios.

El problema se me plantea cuando hago el update, y paso los precios de columnas como puse en ejemplo anterior.

La semana que viene con mas tiempo voy a probar de hacer otra tabla, a ver como funciona.

Saludos, Ricardo.
Trabajo con el procedimiento que te dije y nunca he tenido problemas,

es que el update tienes que hacerlo a la tabla piezas
y el insert a la tabla precio,

es sencillo y practico....

cuando lo intentes me pasas la voz que tal fue
  #10 (permalink)  
Antiguo 27/03/2010, 07:38
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Acualizando lista de precios multiple !!!

ok, gracias !!!!

cuando intente te aviso y traigo como lo hice !!!!

Saludos, Ricardo !!!
__________________
Mail: [email protected]

Etiquetas: lista, precios
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 17:01.