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