Foros del Web » Programando para Internet » PHP »

¿Como usar el mismo objeto de jpgraph en una funcion?

Estas en el tema de ¿Como usar el mismo objeto de jpgraph en una funcion? en el foro de PHP en Foros del Web. ¿Se puede usar el mismo objeto $graph para crear varias gráficas desde la misma funcion? Os pongo el ejemplo: Código PHP: function  crearGrafico ( $titulo ...
  #1 (permalink)  
Antiguo 26/02/2008, 04:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 34
Antigüedad: 19 años, 2 meses
Puntos: 0
¿Como usar el mismo objeto de jpgraph en una funcion?

¿Se puede usar el mismo objeto $graph para crear varias gráficas desde la misma funcion?

Os pongo el ejemplo:

Código PHP:
function crearGrafico($titulo,$A_valores_x,$A_valores_y){
        global 
$graph;

        
$graph->title->Set($titulo);
        
$doc_root $_SERVER[DOCUMENT_ROOT];
        
$imagen "/imagenes/jpgraph/grafico_".time()."_".$titulo.".jpg";

                
$lineplot = new BarPlot($A_valores_y);
                
$graph->Add($lineplot);
        
$graph->xaxis->SetTickLabels($A_valores_x);
        
$graph->yaxis->scale->SetAutoMax($maximo_valoracion);

        
$graph->Stroke($doc_root.$imagen);

        return 
$imagen;

Los valores de los arrays y el título los saco de una BD y mi intención es crear una gráfica por cada registro desde una misma funcion. Con un solo registro sale bien, pero a partir de 2 o más llamadas todos los valores se suman y las imágenes de las gráficas salen iguales.

He probado a crear el objeto en la misma función y al final de la misma destruirla de esta forma:
Código PHP:
settype($graph'null'); 
Pero el resultado es que con varios registros , aunque los datos de los arrays sean diferentes, siempre se muestra la última gráfica generada.
  #2 (permalink)  
Antiguo 26/02/2008, 04:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 34
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: ¿Como usar el mismo objeto de jpgraph en una funcion?

Perdón, ya está solucionado.

La variable time() no era suficiente para que los nombres de las imágenes fueran distintas. Con pasarle el $id del registro ya salen distinto y para mayor seguridad la sessión de usuario.

He tenido que crear el objeto en la misma funcion y despues pasarlo a nulo con settype($graph, 'null');.

Si sabeis de alguna solución mejor se agradece
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 11:34.