|
From: Vladimir <vt...@in...> - 2004-06-01 18:44:00
|
On Fri, May 28, 2004 at 01:01:12AM -0500, Juan Carlos Castellanos wrote: > Saludos lista: Buenos d=EDas. > El bug se presenta en el siguiente caso: >=20 > Un usuario desea ver dos consultas digamos nom_liqmen y nom_liqhis para > compararlas en dos instancias diferentes del mismo navegador, cuando el > usuario preselecciona los datos de los dos formularios los resultados s= e > muestran correctamente, pero al querer ver la impresi=F3n o la gr=E1fic= a de > las dos consultas diferentes, =FAnicamente nos muestra los resultados d= e > la consulta que PHP ejecuto de =FAltimo o sea que en las dos consultas > diferentes nos muestra la misma impresi=F3n y la misma gr=E1fica, por l= o > cual el usuario obviamente no podr=E1 hacer la comparaci=F3n (esto se d= ebe a > que los datos de la variable de sessi=F3n se comparten en las dos > consultas del mismo usuario). Gracias por reportarlo y sugerir una soluci=F3n! Un detalle por tener en= =20 cuenta es distinguir bug de requerimiento nuevo. De pronto este algunos lo ver=E1n como requerimiento nuevo (?) > Para poder corregir esto, se a=F1adi=F3 a misc.php dos funciones: > guardarSession( $comun, $llave, $dato ) y tomarSession( $comun, $llave = ) > en donde el par=E1metro com=FAn es cualquier nombre que vamos ha usar e= n los > scripts que queremos que se compartan los mismos valores de sessi=F3n, > llave es lo que antes era $_SESSION['llave'] y dato pues el valor. > Ahora unicamente invocamos esas dos funciones en vez de invocar > directamente a $_SESSION. Mir=E9 la implementaci=F3n, gracias. Esa es una forma, otra es emplear u= na=20 convenci=F3n en los nombres de variables de sesi=F3n, poniendoles un pref= ijo=20 que identifique el reporte usado (por ejemplo liqnom_ a los de liqnom.php= , tnvnom a los de tnvnom.php y totnomcargo_ a los de totnomcargo.php). =20 Eso se trat=F3 de implementar desde el comienzo en todos los reportes pero faltaba hacerlo con variables usadas en=20 gr=E1ficas, y faltaba un mecanismo para transmitir el prefijo (como el que sumerc=E9 implement=F3 para transmitir comun). Procur=E9 implementar las cosas de esa forma y factorizar c=F3digo,=20 as=ED se logr=F3 eliminar rechum/liqnom_graf, rechum/liqnom_imp,=20 rechum/tnvnom_graf, rechum/tnvnom_imp, rechum/totnomcargo_graf y=20 rechum/totnomcargo_imp Ahora la funcionalidad de estas qued=F3 en=20 graf_muestra.php e imp_reporte.php > Ya se adopto esta forma de llamar a la sessi=F3n en graficar por medio = de > una nueva funci=F3n en JavaScript llamada NewWin2(dirbase, title, comu= n ) > la cual es identica a la utilizada anteriormente en las graficas sino > que se a=F1adio el parametro comun el cual es la misma cadena que usamo= s > en las dos funciones antes dichas.=20 Us=E9 la misma =EDdea en una nueva funci=F3n GraficaReporte(dirbase, titl= e, reporte) donde reporte es el prefijo usado en variables de sesi=F3n del reporte. NewWin ya no existe. Reportes impresos es an=E1logo. > Para mirar mas afondo el c=F3digo las modificaciones se realizaron en > misc.php, drs.js, nom_liqmen.php, nom_liqmen_imp.php y se a=F1adieron > graf_var2.php, graf_pre2.php, graf_cuerpo2.php. Estos archivos a=F1adid= os > son identicos a los anteriores (sin el 2) pero con la nueva forma de > usar la sessi=F3n, esto se realizo para que no hubieran problemas con l= os > codigos que siguen utilizando NewWin, cuando ya todos esten utilizando > la modificaci=F3n les quitamos el 2 del final :) Hice los cambios para emplear la convenci=F3n de variables de sesi=F3n en liqnom.php, totnomcargo.php, tnvnom.php, graf_var.php, graf_pre.php, graf_cuerpo.php. =20 Para unificar, me parecer=EDa muy positivo que los reportes que sumerce=20 ha hecho usaran graf_muestra.php e imp_reporte.php. =BFLo ve factible?. = =20 Ya agregu=E9 mejoras para imprimir etiquetas cortas en gr=E1ficas de barr= as=20 o de l=EDneas (y rotarlas cuando hay entre 5 y 15). =20 Saludos de paz. --=20 Que Dios nos ilumine para hacer su voluntad. =20 http://www.primarilypublicdomain.org/letter/ -- =20 Vladimir T=E1mara Pati=F1o. =20 http://www.geocities.com/v-tamara |