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:
La plantilla en la que aparecerá el gráfico:<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>
Código:
Un clase GrupoGrafico con una función que me hace el sumatorio de una serie de cantidades , agrupándolos por mes:<img src="grupo.admin.php"/>
Código:
Finalmente el php que llama el botón Enviar y nos debería mostrar el gráfico: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; } }
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