Cita:
Iniciado por GatorV Lo que necesitas es hacer que PHPLOT guarde la gráfica (ya generada) en un archivo temporal en el disco de tu server. Posteriormente usar las funciones de R&OS para insertar el gráfico en una parte del PDF.
Saludos.
Ya ser q la idea es esa - y es lo q estoy probando - pero no consigo dar con la solucion.
Aqui es el archivo el cual genera la grafica - esta es una grafica de averias por mes de una base de datos de mantenimientos...
Código PHP:
<?
include ("./phplot.php");
error_reporting(E_ALL);
//Definim objecte
$graph = new PHPlot(800,400);
//$graph->SetDataType("text_data");
//Definim els Titols
$graph->SetTitle('Averias / Actividades por Seccion');
//-------------------------------
$any = $_GET['any'];
$anyp = $any - 1;
if ($_GET['mes'] != 0){
$mes = $_GET['mes'];
$wheremes = " AND mes=$mes";
$groupmes = ",mes";
//$graph->SetYTickIncrement(5);
}else{
$wheremes = "";
$groupmes = "";
//$graph->SetYTickIncrement(20);
}
//------------------
//Inicalitzem l'array
$data = array();
//------------------
//SQL -> Seccions - per cada seccio mostrarem les averies
$str_sec = "SELECT id_seccio,seccio FROM seccio ORDER BY id_seccio";
$sql_sec = mysql_query($str_sec) or die("Error Consulta Secciones: ".mysql_error());
while($res_sec = mysql_fetch_row($sql_sec)){
// Variables seccio
$idseccio = $res_sec[0];
$seccio = $res_sec['1'];
//SQL -> Averies - Any Actual
$str_averia = "SELECT count(*) FROM averies
WHERE id_localitat = ".$_SESSION['idlocalitat']."
AND id_seccio = ".$idseccio." AND any = ".$any." ".$wheremes."
GROUP BY id_localitat, id_seccio, any ".$groupmes."";
$sql_averia = mysql_query($str_averia) or die("Error SQL Averias: ".mysql_error());
$nreg_averia = mysql_num_rows($sql_averia);
//-------------------------------
//SQL -> Averies - Any Passat
$str_averiap = "SELECT count(*) FROM averies
WHERE id_localitat = ".$_SESSION['idlocalitat']."
AND id_seccio = ".$idseccio." AND any = ".$anyp." ".$wheremes."
GROUP BY id_localitat, id_seccio, any ".$groupmes."";
$sql_averiap = mysql_query($str_averiap) or die("Error SQL Averias: ".mysql_error());
$nreg_averiap = mysql_num_rows($sql_averiap);
//-------------------------------
//SQL -> Activitats - Any Actual
$str_activitat = "SELECT count(*) FROM activitats
WHERE id_localitat = ".$_SESSION['idlocalitat']."
AND id_seccio = ".$idseccio." AND any = ".$any." ".$wheremes."
GROUP BY id_localitat, id_seccio, any ".$groupmes."";
$sql_activitat = mysql_query($str_activitat) or die("Error SQL Actividades: ".mysql_error());
$nreg_activitat = mysql_num_rows($sql_activitat);
//-------------------------------
//SQL -> Activitats - Any Passat
$str_activitatp = "SELECT count(*) FROM activitats
WHERE id_localitat = ".$_SESSION['idlocalitat']."
AND id_seccio = ".$idseccio." AND any = ".$anyp." ".$wheremes."
GROUP BY id_localitat, id_seccio ,any ".$groupmes."";
$sql_activitatp = mysql_query($str_activitatp) or die("Error SQL Actividades: ".mysql_error());
$nreg_activitatp = mysql_num_rows($sql_activitatp);
//-------------------------------
if(($nreg_averia!=0)||($nreg_averiap!=0)||($nreg_activitat!=0)||($nreg_activitatp!=0)){
$res_averia = mysql_fetch_row($sql_averia);
$res_averiap = mysql_fetch_row($sql_averiap);
$res_activitat = mysql_fetch_row($sql_activitat);
$res_activitatp = mysql_fetch_row($sql_activitatp);
$data[] = array($seccio,$res_averia[0],$res_averiap[0],$res_activitat[0],$res_activitatp[0]);
}
}//fi While secciones
mysql_free_result($sql_averia);
mysql_free_result($sql_averiap);
mysql_free_result($sql_activitat);
mysql_free_result($sql_activitatp);
mysql_free_result($sql_sec);
/*
echo "<pre>";
print_r($data);
echo "<pre>";
/**/
$graph->SetDataValues($data);
$graph->SetYTitle('Averias / Actividades');
$graph->SetLegend("Av.$any");
$graph->SetLegend("Av.$anyp");
$graph->SetLegend("Ac.$any");
$graph->SetLegend("Ac.$anyp");
//$graph->SetLegendPixels(1,340);
//Draw it
$graph->DrawGraph();
?>
pero no ser como incluirlo con las funciones de la clase R&OS - supongo q sera con la funcion ezImage pero no consigo q ruede...
a ver si me podeis hechar una ayudita mas compleja!
gracias de antemano,
Saludos