Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/04/2007, 11:55
makeitslow
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: còmo puedo graficar estadìsticas en php??

Ya solucione mi problema de pasarle un array de resultado de consulta MYSQL a la grafica de JGRAPH, resulta que el array obtenido por consulta mysql, son bastante variables, o sea creo que no se puede trabajar directamente con ellos para mandarselos a la grafica de estadisticas, tienen que ser un array simple, para eso entonces si hacemos una consulta MYSQL con MYSQL_FETCH_ARRAY, el resultado tenemos que copiarlo a un array simple, y yo lo hice tal vez de la manera mas rustica, pero tal vez le sirva a alguien y es asi:

Tenemos el archivo de PASTEL por ejemplo, que es el GRAFICO_TARTA.PHP (Que viene con el JGRAPH que ya lo sugirieron AQUI)

GRAFICO_TARTA.PHP<?php
Código PHP:
session_start();

//Estas librerias vienen con el JGRAPH
include ("jpgraph.php"); 
include (
"jpgraph_pie.php"); 
include (
"jpgraph_pie3d.php"); 

//Definimos un array vacio para recibir un array de otro lado 
para los datos numericos
$data 
= array();

//Le asignamos el valor de un array, 
definido como variable de sesion anteriormente
$data 
$_SESSION['nums'];

$graph = new PieGraph(510,250,"auto"); 
$graph->img->SetAntiAliasing(); 
$graph->SetMarginColor('white'); 

$p1 = new PiePlot3D($data); 
$p1->SetSize(0.40); 
$p1->SetCenter(0.3); 

$p1->value->SetFont(FF_FONT1,FS_BOLD); 
$p1->value->SetColor("white"); 
$p1->SetLabelPos(0.2); 

//Definimos un array vacio para recibir un array de otro lado 
para los datos de textoo sea los nombres para las leyendas
$nombres 
= array();

//Le asignamos el valor de un array,
definido como variable de sesion anteriormente

$nombres 
$_SESSION['noms'];

$p1->SetLegends($nombres); 
$p1->ExplodeAll(); 

$graph->Add($p1); 
$graph->Stroke(); 
?> 
Con esta modificacion en el archivo GRAFICO_TARTA.PHP (Que se puede aplicar a los otros graficos de JGRAPH), cuando quedramos llamar al archivo para graficar con nuestros datos solo tenemos que hacerlo asi:

Código PHP:
<img src="grafico_tarta.php?data=<?php echo $datosTabla1;?>&nombres=<?php echo $datosTabla2;?>" border="1">
Donde $datosTabla1 y $datosTabla2 son array que los obtenemos de una consulta o los definimos nosotros mismos.

Si los obtenemos de una consulta, pues tenemos que manejarlos asi:

Código PHP:
$sql1="select NOMBRES from TABLA1 where algo= OTRO";
$sql2="select NUMERO from TABLA2 where otro= ALGO";

$res1=MYSQL_QUERY$sql1 );
$res2=MYSQL_QUERY$sql2 );

$datosTabla1 = array();
$datosTabla2 = array();
    
for(
$i=0;$i<$NUMEROTOTAL1;$i++)
{
$reg1=MYSQL_FETCH_ARRAY$res1 );
$datosTabla2[$i] = $reg1['NOMBREDELCAMPO1'];
}
$_SESSION['noms']=$datosTabla2;
        
for(
$i=0;$i<$NUMEROTOTAL2;$i++)
{
$reg2=MYSQL_FETCH_ARRAY$res2 );
$datosTabla1[$i] = $reg2['NOMBREDELCAMPO2'];
}
$_SESSION['nums']=$datosTabla1
Y asi ya podemos mandarlos a:
Código PHP:
<img src="grafico_tarta.php?data=<?php echo $datosTabla1;?>&nombres=<?php echo $datosTabla2;?>" border="1">
Y obviamente si $datosTabla1 y $datosTabla2 los llenamos manualmente, no hay nada que hacer.

Espero les sirva!

Gracias a todos por su ayuda!