Foros del Web » Programando para Internet » PHP »

Generar gráficas con JPGraph y Mysql

Estas en el tema de Generar gráficas con JPGraph y Mysql en el foro de PHP en Foros del Web. Buenas tardes, estoy intentando generar una gráfica con la librería "JpGraph" a partir de datos extraídos de una base de datos de MySql. He estado ...
  #1 (permalink)  
Antiguo 03/09/2012, 06:14
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 12 años, 11 meses
Puntos: 3
Generar gráficas con JPGraph y Mysql

Buenas tardes,

estoy intentando generar una gráfica con la librería "JpGraph" a partir de datos extraídos de una base de datos de MySql. He estado viendo ejemplos y documentación al respecto pero no he conseguido que me funcione ninguno de ellos.

Cuatro son los archivos que utilizo:

Un formulario con un botón:

Código:
		<form action="grupo.admin.php" method="post">
		    <input type="hidden" name="accion" value="verindicadoresgrupo"/>
		    <input name="grupos" type="hidden" value="<?=$grupos['grupo'];?>"/>
		    <input type="submit" value="Indicadores" />
		</form>
La plantilla en la que aparecerá el gráfico:

Código:
	<img src="grupo.admin.php"/>
Un clase GrupoGrafico con una función que me hace el sumatorio de una serie de cantidades , agrupándolos por mes:

Código:
class GrupoGrafico{
    
    private $totales;
    
    public function _construct(){
	
	$this->totales=array();
    }
    
    public function EvolucionGrupo($grupo){
	
	$query="Select SUM(preciototalK25) AS preciototal, mes, ano FROM trabajos ORDER BY ano, mes DESC WHERE grupo = '$grupo' GROUP BY ano, mes ;";

	$consulta = new Consulta($query);
	
	while($precio_total = mysql_fetch_array($consulta)) {
		
                    $this->totales[]=$precio_total;
                    }
	
	return $this->totales;
    
   }

}
Finalmente el php que llama el botón Enviar y nos debería mostrar el gráfico:
Código:
	case 'verindicadoresgrupo'
	
	try {
	
	$grupo = new GrupoGrafico();
	$evolucion_grupo= $grupo->EvolucionGrupo($_POST['grupos']);
	$datos = array();
	
	$total = count($evolucion_grupo);

	for ($i=0; $i < $total; $i++){
	    
	    $datos[]=$evolucion_grupo[$i]["preciototalK25"];
	}
	
	$graph = new Graph(500,400,'auto');
	$graph->SetScale("textlin");
	
	$graph->title->Set("Evolución Mensual del Grupo");
	$graph->xaxis->title->Set("Mes");
	$graph->yaxis->title->Set("Totales");

	$b1plot = new BarPlot($datos);
	
	$graph->Add($b1plot);
	
	$b1plot->SetColor("white");
	$b1plot->SetFillGradient("#4B0082","white",GRAD_LEFT_REFLECTION);
	$b1plot->SetWidth(45);

	$graph->Stroke();

	}   catch (Exception $e){
			$tpl->set('error_msg', $e->getMessage());
		}
	    $tpl_cuerpo= 'grupo_admin_indicadores.tpl.php';
	         
        break;

El problema creo que está en la línea $evolucion_grupo= $grupo->EvolucionGrupo($_POST['grupos']);

La consulta se realiza correctamente pero no guarda el valor en $evolucion_grupo ya que cuando quiero mostrar cuántos valores (echo $total) hay, no me devuelve nada.

Espero que me hayáis entendido. Si queréis que os aclare cualquier cosa me lo decís por favor.

Gracias por anticipado

Etiquetas: formulario, jpgraph, mysql
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 13:38.