he editado mi respuesta anterior para intentar explicarlo mejor, pero aqui pongo mi codigo:(quito todo lo que no sea necesario , como las funciones)
Código PHP:
<html>
<head>
<title>Untitled</title>
<link rel="stylesheet" href="estiloindex.css" type="text/css">
</head>
<body class="CSSINDEX">
<center>
<table width="75%" border="1" align="center">
<tr>
<td><img src="encabezadocremadegradado3.gif" width="800" height="78"></td>
</tr>
</table>
<p> </p>
<?php
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//aqui trabajo con los archivos y meto las llamadas en la base
$host= "localhost";
$user="root";
$password="";
$nombreBD="proyecto";
$tabla="llamadas";
$link=mysql_connect($host, $user, $password);
mysql_select_db($nombreBD,$link);
$consulta = "SELECT * FROM `llamadas`ORDER BY `n_desecuencia` DESC LIMIT 0 , 1 ;";//obtengo el n_secuencia del ultimo elemento, para evitar mirar los datos anteriores
$resultado = mysql_query($consulta);
if(mysql_num_rows($resultado)!=0){
while($row = mysql_fetch_array($resultado)){
$max=$row['n_desecuencia'];//$max me da el identificador del ultimo registro de la base
}
}
//print("$max");
$archivo=fopen("datos.txt","r");
$temp=fopen("editor.txt","r+");
$solu=array();
$solu[0]=0;
$solu[1]=0;
$solu[2]=0;
$solu[3]=0;
$solu[4]=0;
$solu[5]=0;
$solu[6]=0;
$solu[7]=0;
while (!feof($archivo))
{
$campos=array();//inicializo el array
$linea=fgets($archivo,2500);
$campos=rompelinea($linea);
switch ($campos[6]){
case "16":
$solu[0]=$solu[0]+1;
break;
case "17":
$solu[1]=$solu[1]+1;
break;
case "18":
$solu[2]=$solu[2]+1;
break;
case "28":
$solu[3]=$solu[3]+1;
break;
case "31":
$solu[4]=$solu[4]+1;
break;
case "34":
$solu[5]=$solu[5]+1;
break;
case "49":
$solu[6]=$solu[6]+1;
break;
case "-":
$solu[7]=$solu[7]+1;
break;
default:
$solu[6]=$solu[6]+1;}
$llamo=metodatos($campos,$max);//introduzco los datos en la base de datos.
}
fclose($temp);
fclose($archivo);
//Hasta aqui he metido las llamadas en la base.
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//Aqui empieza la creacion del grafico
$total=0;
$numnormal=$solu[0];
$numocupado=$solu[1];
$numsinresp=$solu[2];
$numnumincor=$solu[3];
$numnoespe=$solu[4];
$numlinecan=$solu[5];
$numotros=$solu[6];
$numconec=$solu[7];
$total=$numnormal+$numocupado+$numsinresp+$numnumincor+$numnoespe+$numlinecan+$numotros+$numconec-1;
//print(",$total");
//porcentajes
$pornormal=($numnormal*100)/$total;
$porocupado=($numocupado*100)/$total;
$porsinresp=($numsinresp*100)/$total;
$pornumincor=($numnumincor*100)/$total;
$pornoespe=($numnoespe*100)/$total;
$porlineacan=($numlinecan*100)/$total;
$porotros=($numotros*100)/$total;
$porconec=($numconec*100)/$total;
header("Content-type: image/png");
$imgWidth=900;
$imgHeight=200;
// Creo image y define colores
$image=imagecreate($imgWidth, $imgHeight);
$colorFondo=imagecolorallocate($image, 255, 255, 200);
$colorNormal=imagecolorallocate($image, 0, 0, 255);//Color normal
$colorOcup=imagecolorallocate($image, 100, 192, 30);
$colorSinresp=imagecolorallocate($image, 155, 50, 34);
$colorNuminc=imagecolorallocate($image, 80, 255, 230);
$colorNoespe=imagecolorallocate($image, 255,255, 255);
$colorLincan=imagecolorallocate($image, 255, 0, 0);
$colorOtros=imagecolorallocate($image, 255, 255, 0);
$colorConec=imagecolorallocate($image, 0, 255, 0);
$colorNegro=imagecolorallocate($image, 0, 0, 0);
//titulo
imagestring($image, 3, 50, 20, "Finalización de llamadas", $colorNegro);
imagestring($image, 3, 50, 45, "Total llamadas: $total", $colorNegro);
//porcentajes encima de cada barra
$pornormal=number_format($pornormal,2,'.','');
$porocupado=number_format($porocupado,2,'.','');
$porsinresp=number_format($porsinresp,2,'.','');
$pornumincor=number_format($pornumincor,2,'.','');
$pornoespe=number_format($pornoespe,2,'.','');
$porlineacan=number_format($porlineacan,2,'.','');
$porotros=number_format($porotros,2,'.','');
$porconec=number_format($porconec,2,'.','');
$longnor=($pornormal*800)/100;
$longocu=($porocupado*800)/100;
$longsinresp=($porsinresp*800)/100;
$longnuminc=($pornumincor*800)/100;
$longnoesp=($pornoespe*800)/100;
$longlin=($porlineacan*800)/100;
$longotros=($porotros*800)/100;
$longcon=($porconec*800)/100;
$c1=number_format($longnor,0,'.','');
$c2=number_format($longocu,0,'.','');
$c3=number_format($longsinresp,0,'.','');
$c4=number_format($longnuminc,0,'.','');
$c5=number_format($longnoesp,0,'.','');
$c6=number_format($longlin,0,'.','');
$c7=number_format($longotros,0,'.','');
$c8=number_format($longcon,0,'.','');
imagefilledrectangle($image,50,70,50+$c1,130,$colorNormal);//barra de normal
imagefilledrectangle($image,50+$c1,70,50+$c1+$c2,130,$colorOcup);//barra de us.ocupado
imagefilledrectangle($image,50+$c1+$c2,70,50+$c1+$c2+$c3,130,$colorSinresp);//barra sin respuesta
imagefilledrectangle($image,50+$c1+$c2+$c3,70,50+$c1+$c2+$c3+$c4,130,$colorNuminc);//barra num incorrecto
imagefilledrectangle($image,50+$c1+$c2+$c3+$c4,70,50+$c1+$c2+$c3+$c4+$c5,130,$colorNoespe);//barra sin especif
imagefilledrectangle($image,50+$c1+$c2+$c3+$c4+$c5,70,50+$c1+$c2+$c3+$c4+$c5+$c6,130,$colorLincan);//barra linea/canal
imagefilledrectangle($image,50+$c1+$c2+$c3+$c4+$c5+$c6,70,50+$c1+$c2+$c3+$c4+$c5+$c6+$c7,130,$colorOtros);//barra otros
imagefilledrectangle($image,50+$c1+$c2+$c3+$c4+$c5+$c6+$c7,70,50+$c1+$c2+$c3+$c4+$c5+$c6+$c7+$c8,130,$colorConec);//barra conectada
imagefilledrectangle($image,50,155,60,165,$colorNormal);// normal
imagestring($image, 2, 65, 155, "Normal: $pornormal%" , $colorNegro);
imagefilledrectangle($image,230,155,240,165,$colorOcup);//us.ocupado
imagestring($image, 2, 245, 155, "Usuario Ocupado: $porocupado%" , $colorNegro);
imagefilledrectangle($image,420,155,430,165,$colorSinresp);//sin respuesta
imagestring($image, 2, 435, 155, "Sin Respuesta: $porsinresp%" , $colorNegro);
imagefilledrectangle($image,615,155,625,165,$colorNuminc);// num incorrecto
imagestring($image, 2, 630, 155, "Numero Incorrecto: $pornumincor%" , $colorNegro);
imagefilledrectangle($image,50,185,60,195,$colorNoespe);// sin especif
imagestring($image, 2, 65, 185, "Sin Especificar: $pornoespe%" , $colorNegro);
imagefilledrectangle($image,230,185,240,195,$colorLincan);//linea/canal
imagestring($image, 2, 245, 185, "Linea/canal ocupado: $porlineacan%" , $colorNegro);
imagefilledrectangle($image,420,185,430,195,$colorOtros);//otros
imagestring($image, 2, 435, 185, "Otros: $porotros%" , $colorNegro);
imagefilledrectangle($image,615,185,625,195,$colorConec);//conectada
imagestring($image, 2, 630, 185, "Conectada: $porconec%" , $colorNegro);
imagepng($image,"imagen.png");
imagedestroy($image);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//genero el grafico con los datos de hoy
link =mysql_connect($host, $user, $password);
mysql_select_db($nombreBD,$link);
$ult_hora = "SELECT * FROM llamadas WHERE iniciollamada > DATE_SUB(NOW(), INTERVAL 1 day)";
$sol=array();
$sol[0]=0;
$sol[1]=0;
$sol[2]=0;
$sol[3]=0;
$sol[4]=0;
$sol[5]=0;
$sol[6]=0;
$sol[7]=0;
$busq = mysql_query($ult_hora);
if(mysql_num_rows($busq)!=0){
while($row = mysql_fetch_array($busq)){
switch ($row['causadesconexion']){
case "Normal":
$sol[0]=$sol[0]+1;
break;
case "Usuario Ocupado":
$sol[1]=$sol[1]+1;
break;
case "Sin Respuesta":
$sol[2]=$sol[2]+1;
break;
case "Numero Incorrecto":
$sol[3]=$sol[3]+1;
break;
case "Sin Especificar":
$sol[4]=$sol[4]+1;
break;
case "Linea/Canal No Disponible":
$sol[5]=$sol[5]+1;
break;
case "Otros":
$sol[6]=$sol[6]+1;
break;
case "Conectada":
$sol[7]=$sol[7]+1;
break;}
}
/////y aqui creo otro grafico como el de antes pero con los datos de hoy.
//////a partir de aqui es el formulario en el que se lo paso a muestra.php
?>
<form action="muestra.php" method=post>
<input type="submit" value="MOSTRAR" name="submit" />
</p>
</td>
</tr>
</table>
</center>
<table width="75%" border="0" align="center">
<tr>
<td width="61%" height="30">
<div align="center"></div>
</td>
</tr>
<tr>
<td width="61%">
<div align="center"> </div>
</td>
</tr>
<tr>
<td width="61%"> </td>
</tr>
</table>
</body>
</html>