tengo 2 bases de datos con la misma estructura pero con diferentes datos, ya que son 2 sucursales y se me pidio un grafico estadistico donde se muestren los productos de cada sucursal y la barra que indica en que sucursal se ha vendido mas, el problema lo tengo en que en la SUCURSAL 1 tengo 23 PRODUCTOS y en la SUCURSAL 2 tengo 28 PRODUCTOS.
En el grafico coloco en el EJE DE LAS X los nombres de los productos, pero como en una SUCURSAL hay mas productos en otra entonces en la grafica hay un descuadre, para hacer estas comparaciones debe ser obligatorio que la cantidad de productos sean los mismo en ambas bases de datos?? ademas en el EJE de las X siempre me carga los productos de la SUCURSAL 1, me muestra del 1 al 23 y los demas datos no se grafican como debe ser.
Espero haberme explicado aqui les dejo el codigo del Grafico:
Código PHP:
<?php
include("../conex.php");
include("../js/jpgraph/src/jpgraph.php");
include("../js/jpgraph/src/jpgraph_bar.php");
set_time_limit(0);
$query = mysql_query("SELECT INV_DESCRI,CLA_DESCRI,ROUND(SUM(MOV_CANTID*(MOV_LOGICO*(-1))),2) AS 'total_ventas' FROM dpmovinv
LEFT JOIN dpclientescero ON CCG_CODSUC = DOC_CODSUC and CCG_TIPDOC = DOC_TIPDOC and CCG_NUMDOC = DOC_NUMERO AND CCG_TIPTRA=DOC_TIPTRA
LEFT JOIN dpdoccli ON DOC_NUMERO = MOV_DOCUME AND DOC_TIPDOC = MOV_TIPDOC AND DOC_CODSUC=MOV_CODSUC AND MOV_INVACT=1
LEFT JOIN dpinv ON INV_CODIGO = MOV_CODIGO
INNER JOIN dpcla ON CLA_CODIGO = INV_CLA
INNER JOIN dpfamilias ON FAM_CODIGO = INV_FAM
INNER JOIN dpgru ON GRU_CODIGO = INV_GRUPO
WHERE DOC_TIPTRA='D' AND MOV_INVACT=1 AND MOV_APLORG='V'
GROUP BY INV_DESCRI")or die(mysql_error());
$query1 = mysql_query("SELECT INV_DESCRI,CLA_DESCRI,ROUND(SUM(MOV_CANTID*(MOV_LOGICO*(-1))),2) AS 'total_ventas'
FROM sgecarniceria_crtr.dpmovinv
LEFT JOIN sgecarniceria_crtr.dpclientescero ON CCG_CODSUC = DOC_CODSUC AND CCG_TIPDOC = DOC_TIPDOC AND CCG_NUMDOC = DOC_NUMERO
AND CCG_TIPTRA=DOC_TIPTRA
LEFT JOIN sgecarniceria_crtr.dpdoccli ON DOC_NUMERO = MOV_DOCUME AND DOC_TIPDOC = MOV_TIPDOC AND DOC_CODSUC=MOV_CODSUC
AND MOV_INVACT=1
LEFT JOIN sgecarniceria_crtr.dpinv ON INV_CODIGO = MOV_CODIGO
INNER JOIN sgecarniceria_crtr.dpcla ON CLA_CODIGO = INV_CLA
INNER JOIN sgecarniceria_crtr.dpfamilias ON FAM_CODIGO = INV_FAM
INNER JOIN sgecarniceria_crtr.dpgru ON GRU_CODIGO = INV_GRUPO
WHERE DOC_TIPTRA='D' AND MOV_INVACT=1 AND MOV_APLORG='V'
GROUP BY INV_DESCRI")or die(mysql_error());
while($row = mysql_fetch_array($query))
{
$descri[] = $row[0];
$total[] = $row[2];
}
while($row1 = mysql_fetch_array($query1))
{
$descri1[] = $row1[0];
$total1[] = $row1[2];
}
$graph = new Graph(1300, 510, "auto");
$graph->SetScale( "textlin");
$graph->SetShadow();
$graph->yaxis->HideZeroLabel(); //Oculta el 0 del eje de la Y
$graph->img->SetMargin(45, 220, 68, 105); // (Izq, Der, Arr, Abj)
$graph->SetBackgroundGradient('blue:0.7', '#55eeff', GRAD_HOR, BGRAD_PLOT); //Esta linea da Estilo al Grid donde se muestra el grafico
//Hay muchas funciones mas, se debe investigar
//$graph->xaxis->SetTickLabels($descri);
//$graph->xaxis->SetTickLabels($descri1);
$graph->xaxis->SetFont(FF_VERDANA, FS_NORMAL, 8);
$graph->xaxis->SetLabelAngle(45);
$graph->legend->Pos(0.02,0.10,"right","center");
$graph->legend->SetShadow('[email protected]');
$graph->legend->SetFillColor('[email protected]');
$graph->title->Set("Representacion Grafica (Ventas en Kg x Prodcuto) Cuadro Comparativo");
$graph->SetTitleBackground('#[email protected]',TITLEBKG_STYLE2,TITLEBKG_FRAME_FULL,'#[email protected]',5,25,true);//Aqui se da estilo al Titulo de Grafico
//$graph->xaxis->title->Set("Grupos de Carnes" );
//$graph->yaxis->title->Set("KG" );
$graph->yaxis->scale->SetGrace(20); //Setea la escala en el eje de las Y
$barplot = new BarPlot($total);
$barplot->SetColor("red");
$barplot->SetFillColor("#cc1111");
$barplot->SetShadow('[email protected]');
$barplot->SetWidth(15);
$barplot->value->Show();
$barplot->value->SetFormat("%0.1f KG");
//$barplot->value->SetFont(FF_FONT1,FS_BOLD);
$barplot->value->SetFont(FF_VERDANA,FS_BOLD, 8);
$barplot->value->SetColor('black');
$barplot->value->SetAngle(65);
//$barplot->ExplodeAll();
$barplot1 = new BarPlot($total1);
$barplot1->SetColor("blue");
$barplot1->SetFillColor("#1111cc");
$barplot1->SetShadow('[email protected]');
$barplot1->SetWidth(15);
$barplot1->value->Show();
$barplot1->value->SetFormat("%0.1f KG");
$barplot1->value->SetFont(FF_VERDANA,FS_BOLD, 8);
$barplot1->value->SetColor('black');
$barplot1->value->SetAngle(65);
$gbplot = new GroupBarPlot(array($barplot,$barplot1));
$gbplot->SetWidth(20);
$barplot->SetLegend("Expendio Carne Guigue");
$barplot1->SetLegend("Expendio Carne La Trinidad");
$graph->Add($gbplot);
// Mostramos la imagen
$graph->Stroke();
?>