Foros del Web » Programando para Internet » PHP »

PHP OO Pasar variables php de un script a otro que forma una gráfica JPGRAPH

Estas en el tema de Pasar variables php de un script a otro que forma una gráfica JPGRAPH en el foro de PHP en Foros del Web. Hola.. Ante todo gracias. Por favor si pueden ayudarme con el siguiente problema: Tengo un script llamado Selecciones.php en el cual manejo variables que extraigo ...
  #1 (permalink)  
Antiguo 26/04/2011, 14:35
 
Fecha de Ingreso: marzo-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Pasar variables php de un script a otro que forma una gráfica JPGRAPH

Hola.. Ante todo gracias. Por favor si pueden ayudarme con el siguiente problema:

Tengo un script llamado Selecciones.php en el cual manejo variables que extraigo de una base de datos y tengo otro script llamado Grafica.php que desarrolla una grafica haciendo uso de JPGRAPH.

Lo que quiero saber es como puedo hacer para crear una grafica con los valores que selecciono de la base de datos. Es decir pasar los datos de mi script Selecciones.php a mi script Grafica.php

Probé con $_SESSION['variable'] pero no me funciona

Alguien sabe algun otro método? gracias
  #2 (permalink)  
Antiguo 26/04/2011, 15:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Pasar variables php de un script a otro que forma una gráfica JPGRAPH

Sesiones es buen método, ¿porque no te funciona?

Igualmente podrías hacerlo con GET, te sugiero leer lo siguiente:
http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/04/2011, 06:15
 
Fecha de Ingreso: marzo-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Respuesta: Pasar variables php de un script a otro que forma una gráfica JPGRAPH

Hola pateketrueke, gracias por tu ayuda!

Me funciona pero todas las graficas me las muestra con el mismo valor. Es como si solo tomara en cuanta el ultimo valor que se almacenó en las variables SESSION

Te voy a explicar lo que hace mi programa

La base de datos se llama "monitoreo" y la tabla de datos de donde extraigo los valores se llama "tabla" y esta constituida por los siguientes campos:

Aplicacion---------->Nombre de la aplicacion
Proveedor--------->Nombre del proveedor al que pertenece la aplicacion
Servidor----------->Nombre del servidor donde se ubica la aplicacion
fecha_hora----->Fecha y hora en que se hizo uso de la aplicacion ejemplo de valores que almacen: 25/12/2010 08:00:00
Nivel--------------->Nivel de uso (Es un numero que va del 1 al 100)


Tengo dos scripts "Selecciones.php" y "Grafica.php"


SCRIPT SELECCIONES.PHP

<?php
//DOY UN VALOR DE FECHA
$Fecha='03/12/2010';

// SELECCIONO LA APLICACION, EL NIVEL, EL SERVIDOR Y LA FECHA Y HORA, DONDE LA FECHA Y HORA SEA IGUAL A LA FECHA DADA AL PRINCIPIO DEL SCRIPT "$fecha"
mysql_connect("localhost","root","mysql");
mysql_select_db("monitoreo");
$result123= mysql_query ("SELECT aplicacion, nivel, servidor, Fecha_hora FROM tabla WHERE substring(fecha_hora,1,10)= '$fecha' ORDER BY license_name");


$var1=0;
while ($row123=mysql_fetch_array($result123, MYSQL_BOTH))
{
//Cada fila de $Arreglo, contiene un nombre de aplicacion que puede estar repetido, pues la misma aplicacion se pudo haber usado en la misma fecha pero en diferentes horas (ver formato del campo "fecha_hora" de la tabla "tabla"
$Arreglo1[$var1]= $row123["aplicacion"];
$Arreglo2[$var1]= $row123["servidor"];
$Arreglo3[$var1]= $row123["nivel"];
$Arreglo4[$var1]= $row123["fecha_hora"];

//var1 almacena la cantidad de registros devueltos por la seleccion
$var1=$var1+1;
}
mysql_free_result($result123);

//HAGO UN SELECT CON COUNT CON UN GROUP BY PARA CONTAR EL NUMERO DE APLICACIONES
mysql_connect("localhost","root","mysql");
mysql_select_db("monitoreo");
$result1234= mysql_query ("SELECT count(*) FROM OLM_STATISTICS_HOURS WHERE substring(start_time_utc,1,10)= '$fecha' GROUP BY license_name");
$row1234= mysql_num_rows($result1234);
$CantidadAplicaciones= $row1234;
echo $CantidadAplicaciones; ?> <br> <?php


$ij=0;
//Repito este proceso para cada aplicacion
while ($ij<$CantidadAplicaciones)
{
//Estas son las variables que voy a pasar al script del grafico, y van a almacenar el nivel de uso de cada aplicacion en cada hora
$_SESSION['$a']=0;
$_SESSION['$b']=0;
$_SESSION['$c2']=0;
$_SESSION['$d']=0;
$_SESSION['$e']=0;
$_SESSION['$f']=0;
$_SESSION['$g']=0;
$_SESSION['$h']=0;
$_SESSION['$k']=0;
$_SESSION['$m']=0;
$i=0;
while ($i<=$var1)
{
if ($i==0)
{
$j=0;
$LaAplicacion= $Arreglo1[$i];
$LaAplicacion2= $Arreglo1[$j];
$_SESSION['NombreAplicacion']=$LaAplicacion;
$_SESSION['$a']= $Arreglo3[$i];
}
elseif ($i!=0)
{
$j=$i-1;
$LaAplicacion= $Arreglo1[$i];
$LaAplicacion2= $Arreglo1[$j];
$_SESSION['NombreAplicacion']=$LaAplicacion;
}

// si la aplicacion del registro actual es igual a la aplicacion del registor anterior quiere decir que pertenecen a la misma fecha pero en diferentes horas, por lo tanto hay que almacenar el nivel en la hora actual.
if ($LaAplicacion2==$LaAplicacion)
{
$string= $Arreglo4[$i];
$hora= substr($string,6,4);
if ($hora=08)
{
$_SESSION['$a']= $Arreglo3[$i];
}
elseif ($hora=09)
{
$_SESSION['$b']= $Arreglo3[$i];
}
elseif ($hora=10)
{
$_SESSION['$c2']= $Arreglo3[$i];
}
elseif ($hora=11)
{
$_SESSION['$d']= $Arreglo3[$i];
}
elseif ($hora=12)
{
$_SESSION['$e']= $Arreglo3[$i];
}
elseif ($hora=13)
{
$_SESSION['$f']= $Arreglo3[$i];
}
elseif ($hora=14)
{
$_SESSION['$g']= $Arreglo3[$i];
}
elseif ($hora=15)
{
$_SESSION['$h']= $Arreglo3[$i];
}
elseif ($hora=16)
{
$_SESSION['$k']= $Arreglo3[$i];
}
elseif ($hora=17)
{
$_SESSION['$m']= $Arreglo3[$i];
}
}
$i=$i+1;
}
echo '<img src="grafica.php" alt="" border="0" width: 2000px;>';
$ij=$ij+1;
}
?>

SCRIPT GRAFICA.PHP

<?php
session_start();
require_once ('C:\Archivos de programa\EasyPHP 3.0\php\JPGRAPH\src\jpgraph.php');
require_once ('C:\Archivos de programa\EasyPHP 3.0\php\JPGRAPH\src\jpgraph_bar.php');
$nombre_aplicacion=$_SESSION['NombreAplicacion'];
$datos1= array ($_SESSION['$a'],$_SESSION['$b'],$_SESSION['$c2'],$_SESSION['$d'],$_SESSION['$e'],$_SESSION['$f'],$_SESSION['$g'],$_SESSION['$h'],$_SESSION['$k'],$_SESSION['$m']);
$arrEjeY = array (0,10,20,30,40,50,60,70,80,90,100);
$arrEjeX = array ("8am","9am","10am","11am","12m","1pm","2pm","3pm" ,"4pm","5pm");
$grafico = new Graph(250, 250, "auto");
//Especificar la escala
$grafico->SetScale("textlin",0,100,0,0);
$grafico->title->Set($nombre_aplicacion);
$grafico->xaxis->SetTickLabels($arrEjeX);
$grafico->xaxis->SetLabelAngle(90);
$grafico->title->SetFont(FF_FONT1,FS_BOLD);
$grafico->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$grafico->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
$grafico->xaxis->title->Set("Periodo");
$grafico->yaxis->title->Set("Nivel de Uso");
$grafico->yaxis->SetTickLabels($arrEjeY);
//margen del gráfico
$grafico->img->SetMargin(40,30,30,40);
$barplot1 = new BarPlot($datos1);
$barplot1->SetColor("red");
// Un gradiente Horizontal de rojo a azul
$barplot1->SetFillGradient( "pink","lightblue", GRAD_HOR);
// 25 pixeles de ancho para cada barra
$barplot1->SetWidth(15);
$grafico->Add($barplot1);
$grafico->Stroke();
?>


Me resulta tantas graficas en pantalla como aplicaciones se selecciones, pero el problema es que todas las graficas parecen tener los mismos valores =(
  #4 (permalink)  
Antiguo 27/04/2011, 09:06
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Pasar variables php de un script a otro que forma una gráfica JPGRAPH

pues es que en esta linea los valores son siempre fijos


Código PHP:
$arrEjeY = array (0,10,20,30,40,50,60,70,80,90,100);
$arrEjeX = array ("8am","9am","10am","11am","12m","1pm","2pm","3pm" ,"4pm","5pm"); 
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #5 (permalink)  
Antiguo 27/04/2011, 12:10
 
Fecha de Ingreso: marzo-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Respuesta: Pasar variables php de un script a otro que forma una gráfica JPGRAPH

Cita:
Iniciado por mogurbon Ver Mensaje
pues es que en esta linea los valores son siempre fijos


Código PHP:
$arrEjeY = array (0,10,20,30,40,50,60,70,80,90,100);
$arrEjeX = array ("8am","9am","10am","11am","12m","1pm","2pm","3pm" ,"4pm","5pm"); 


Gracias mogurbon por tu atención.

Esas lineas las dejo constantes porque son los valores o la escala de "x" e "y". Lo que forma las barras de la grafica es la variable "$datos1" e allí donde introduzco los valores de las variables Session. El problema es que estas me grafican todo con el ultimo valor que se le dio a dichas variables, y no deberia. Lo correcto es que grafique cada grafica con sus valores.

Etiquetas: jpgraph, pasar, variables, formulario
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 18:41.