Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/05/2011, 20:47
vanessacruz_7
 
Fecha de Ingreso: marzo-2011
Mensajes: 12
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Variables $_SESSION pierden el valor

Cita:
Iniciado por ocp001a Ver Mensaje
A simple vista y aunque parece que tienes más lineas que hacen ciertas cosas, creo que haces muchas cosas de más.
Desde que recorres la base de datos ya podrías generar los gráficos sin pasar los campos a arreglos.
Ya que lo haces así, al recorrer los arreglos podrías generar los graficos sin pasarlos a variables de sesión.

Supongo que los gráficos los generas con otro while, manejando las variables de sesión, de ser así, ahí está el problema. Las variables de sesión las sobreescribes 10 veces, y se quedan desde luego con el último valor que les da el while. Si necesitas las variables de sesión por que estás pasando dichos valores a otro script, tendrías que hacer algo como esto:


Código PHP:
Ver original
  1. mysql_select_db("monitoreo");
  2. $result= mysql_query ("SELECT variable1, variable2, variable3, variable4  FROM tabla");
  3. while ($row=mysql_fetch_array($result, MYSQL_BOTH))
  4.       {
  5.        $_SESSION["a"][]= $row["variable1"];
  6.        $_SESSION["b"][]= $row["variable2"];
  7.        $_SESSION["c2"][]= $row["variable3"];
  8.        $_SESSION["d"][]= $row["variable4"];
  9.        }
luego recorrer las variables de sesion:

Código PHP:
Ver original
  1. while ($i<10)
  2.      {
  3.     //Almaceno en las variables $_SESSION el valor de las consultas de la BDD
  4.        $a=$_SESSION["a"][$i];
  5.        $b=$_SESSION["b"][$i];
  6.        $c2=$_SESSION["c2"][$i];
  7.        $d=$_SESSION["d"][$i];
  8.  
  9.       //Mando a imprimir un gráfico haciendo uso de los datos de las SESSION anteriores
  10.        echo '<img src="barra1.php" alt="" border="0" width: 2000px;>';
  11.        //Donde barra1.php es el script que contiene el codigo para generar cada  grafica de JpGraph, el cual funciona perfectamente y recibe a las variables $_SESSION.
  12.        
  13.         $i++;//Ya deberías conocer esta instrucción más simple
  14.       }  
  15.  
  16. //o bien mediante un foreach
  17.  
  18. foreach($_SESSION["a"] as $indice =>$valor){
  19.       $a=$valor;
  20.       $b=$_SESSION["b"][$indice];
  21.       $c2=$_SESSION["c2"][$indice];
  22.       $d=$_SESSION["d"][$indice];
  23.       //Mando a imprimir un gráfico haciendo uso de los datos de las SESSION anteriores
  24.        echo '<img src="barra1.php" alt="" border="0" width: 2000px;>';
  25.        //Donde barra1.php es el script que contiene el codigo para generar cada  grafica de JpGraph, el cual funciona perfectamente y recibe a las variables $_SESSION.
  26. }

Mil gracias... tienes mucha razon. Mi programa en realidad es un poco mas complejo. Lo coloque asi porque quise simplificar y enfocarme en el problema para que asi lo entendieran mejor. Esto que comentaste me va a ayudar. Lo voy a probar y estare en contacto por aca. Si no me funciona te explico con mas detalle lo que intenta hacer realmente mi programa. De verdad muy agradecida con tu aporte ocp001a