Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] JPGraph muestra imagen rota.

Estas en el tema de JPGraph muestra imagen rota. en el foro de PHP en Foros del Web. Hola! Antes que nada les agradeceria leer todo el post antes de contestar, mi problema es el siguiente. Estoy elaborando una grafica multi linea con ...
  #1 (permalink)  
Antiguo 14/04/2014, 12:14
Avatar de extramex  
Fecha de Ingreso: marzo-2014
Ubicación: Torreon
Mensajes: 9
Antigüedad: 10 años
Puntos: 0
Exclamación JPGraph muestra imagen rota.

Hola!

Antes que nada les agradeceria leer todo el post antes de contestar, mi problema es el siguiente.

Estoy elaborando una grafica multi linea con JPGraph y al momento de enviar la información lo unico que me muestra es una imagen rota.

Ya cheque la libreria GD y si esta activada en mi php.ini.

Mi codigo para crear la Libreria es el siguiente, las variables las recojo de un form el cual lee correctamente todos los datos, el problema viene al momento de crear la grafica

Código PHP:
<?php 
if(isset($_POST['enviar']))
{
header("content-type: image/png");
include (
"jpgraph/jpgraph.php");
include (
"jpgraph/jpgraph_line.php");
$fechauno $_POST['fecha1'];
$fechados $_POST['fecha2'];
$sucursal $_POST['nombresuc'];
$datax = array();
$datay1 = array();
$datay2 = array();
$datay3 = array();
$datay4 = array();
$i 0$j 0;
$query "SELECT * from reporteventas WHERE nombresuc='".$sucursal."' AND fecha BETWEEN '".$fechauno."' AND '".$fechados."'";
$result mysql_query($query);
  
$numero 0;
  while(
$row mysql_fetch_array($result))
  {
             
$datax[]=$row["fecha"];
            
$datay1[]=$row["rentas"];
            
$datay2[]=$row["inscripcion"];
            
$datay3[]=$row["retardos"];
            
$datay4[]=$row["dulces"];
 
  }
    
mysql_free_result($result);
// Setup the graph
$graph = new Graph(500,400);
$graph->SetScale('intlin');

$theme_class=new UniversalTheme;

$graph->SetTheme($theme_class);
$graph->img->SetAntiAliasing(false);
$graph->title->Set('Space Video');
$graph->img->SetMargin(70,15,30,60); // Sets the margin.  L, R, T, B
$graph->SetBox(false);

$graph->SetYScale(0,'lin');
$graph->SetYScale(1,'lin');
$graph->SetYScale(2,'lin');
$graph->img->SetAntiAliasing();

$p1 = new LinePlot($datay1);
$graph->Add($p1);

$p2 = new LinePlot($datay2);
$p2->SetColor('teal');
$graph->AddY(0,$p2);
$graph->ynaxis[0]->SetColor('teal');

$p3 = new LinePlot($datay3);
$p3->SetColor('red');
$graph->AddY(1,$p3);
$graph->ynaxis[1]->SetColor('red');

$p4 = new LinePlot($datay4);
$p4->SetColor('blue');
$graph->AddY(2,$p4);
$graph->ynaxis[2]->SetColor('blue');

$graph->yaxis->HideZeroLabel();
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false,false);
$graph->yaxis->title->Set('Player Logs');
$graph->yaxis->SetTitleMargin(50);

$graph->xgrid->Show();
$graph->xgrid->SetLineStyle("solid");
$graph->xaxis->SetTickLabels($datay);
$graph->xaxis->SetLabelAngle(60);
$graph->xgrid->SetColor('#E3E3E3');

// Create the first line
$p1 = new LinePlot($datax);
$graph->Add($p1);
$p1->mark->SetType(MARK_FILLEDCIRCLE,'',1.0);
$p1->mark->SetColor('#6495ED');
$p1->SetColor("#6495ED");
$p1->SetLegend('legend');

/* Create the second line
$p2 = new LinePlot($datay2);
$graph->Add($p2);
$p2->SetColor("#B22222");
$p2->SetLegend('Line 2');

// Create the third line
$p3 = new LinePlot($datay3);
$graph->Add($p3);
$p3->SetColor("#FF1493");
$p3->SetLegend('Line 3');
*/

// Output line

$grafico->Stroke(_IMG_HANDLER);

$fileName "grafica1.png";
$grafico->img->Stream($fileName);

// mostrarlo en el navegador
$grafico->img->Headers();
$grafico->img->Stream();


}
?>
Espero posibles soluciones
  #2 (permalink)  
Antiguo 14/04/2014, 13:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: JPGraph muestra imagen rota.

cerciórate de que no estés dumpeando caracteres adicionales a la salida, que pueden provocar que se corrompa el binario de la imagen, por ejemplo:

-revisa que el archivo no tenga BOM
-elimina el tag de cierre de php
-elimina los espacios antes del tag de inicio de php
-verifica que no se muestren errores nivel Notice o Warning, de preferencia evitarlos o usa error_reporting(0);
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 18/04/2014, 05:05
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 9 años, 11 meses
Puntos: 2
Respuesta: JPGraph muestra imagen rota.

¿Podrías indicarnos que te aparece exactamente en la página?

¿Únicamente código de la imagen?
  #4 (permalink)  
Antiguo 30/04/2014, 10:49
 
Fecha de Ingreso: abril-2014
Ubicación: Almería
Mensajes: 58
Antigüedad: 9 años, 11 meses
Puntos: 2
Respuesta: JPGraph muestra imagen rota.

¿Si está solucionado podrías indicarnos cómo?

Etiquetas: 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 04:14.