Ver Mensaje Individual
  #10 (permalink)  
Antiguo 27/03/2014, 12:32
a18327
 
Fecha de Ingreso: noviembre-2012
Mensajes: 74
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Reportes Graficos con PHP

En el codigo veo que recorres un ciclo while y dentro hay un codigo javscript que crea la grafica por eso solamente se mostraba el ultimo dato ya que no estabas agregando datos a la grafica si no que creabas varias graficas con un solo dato y cada nueva grafica reemplazaba a la anterior.

Al javascript debes pasarle un array como ya te habia dicho antes, te pongo el codigo
Código PHP:
<?php
    $mysqli 
= new mysqli("localhost","root","","kosys");

    
//Esta es la query
    
$sql $mysqli->query("SELECT rubros.nombre as nombre, sum(productos.ventas) AS venta_rubro FROM productos INNER JOIN rubros ON productos.rubro = rubros.id GROUP BY productos.rubro");
    
$datos=array();//Nueva Linea
    
while($row $sql->fetch_array(MYSQLI_NUM))
    {                    
        
$nombre $row[0];
        
$venta $row[1];
        
$datos[]=array($nombre,$venta);//Nueva Linea
    
}
?>
<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <script type="text/javascript" src="jquery-ui-1.8.20\jquery-1.7.2.js"></script>
        <script type="text/javascript">
            $(function () {
                $('#container').highcharts({
                    chart: {
                        plotBackgroundColor: null,
                        plotBorderWidth: null,
                        plotShadow: false
                    },
                    title: {
                        text: 'Venta por Rubros'
                    },
                    tooltip: {
                        pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
                    },
                    plotOptions: {
                        pie: {
                            allowPointSelect: true,
                            cursor: 'pointer',
                            dataLabels: {
                                enabled: true,
                                color: '#000000',
                                connectorColor: '#000000',
                                format: '<b>{point.name}</b>: {point.percentage:.1f} %'
                            }
                        }
                    },
                    series: [{
                        type: 'pie',
                        name: 'Venta por Rubros',
                        data: <?php json_encode($datos?>//Genera algo como [["Telefonia",18]["Computadoras",25]["Accesorios",56]]
                    }]
                });
            });
        </script>
    </head>
    <body>
        <script src="Highcharts\Highcharts-3.0.10\js\highcharts.js"></script>
        <script src="Highcharts\Highcharts-3.0.10\js\modules\exporting.js"></script>
        <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
    </body>
</html>