hola tengo el siguiente codigo para crear una imagen con los datos de una encuesta el tema es que me tira error me dice que la imagen no se puede mostrar porque contiene errores. ojala puedan ayudarme yio hace horas que vengo mirando pero no la cacho che je.
aca dejo el script.
Código PHP:
<?php
//Fijaos en que esta vez tenéis que añadir vosotros la informacion en mysql_connect
include("../../conexion.php");
//Obtenemos el titulo de la última encuesta para colocarlo como título en nuestro gráfico
$consulta = "SELECT * FROM encuestas ORDER BY fecha DESC LIMIT 1";
print $consulta;
$rs_consulta = mysql_query($consulta);
$lado=mysql_num_rows($rs_consulta);
$row = mysql_fetch_array($rs_consulta) or die(mysql_error());
$titulo= $row['titulo'];
$id_encuesta=$row['id_encuesta'];
//Obtenemos el numero de votos de cada opcion y los metemos en "votos[]"
$consulta = "SELECT * FROM respuestas WHERE id_encuesta=$id_encuesta";
print "<br>";
print "consulta " .$consulta;
print "<br>";
$rs_consulta = mysql_query($consulta);
$lado=mysql_num_rows($rs_consulta);
while($row = mysql_fetch_array($rs_consulta)){
//Guardamos el texto en la variable temp. Este texto nos servirá como
//índice en el array votos[]
$temp = $row['texto'];
$votos[$temp]= $row['votos'];
}
//Variables del gráfico
$width = 500; //Ancho de la imagen
$espacioCol = 30; //Espacio que habrá del principio de una columna a otra
$altoCol = 15; //El alto de las columnas
$height = 2*count($votos)*$espacioCol+45; //El alto de la imagen
$maxvoto = max($votos); //Valor de la opcion mas votada
$maxlargo = $width-50; //Largo que tendrá la opción mas votada
$coeficiente = (int)($maxlargo / $maxvoto); //Coeficiente para calcular el largo de cada opcion
//Creamos la imagen con el alto y ancho asignados anteriormente
print " este es el ancho $width , este es el alto $height ";
$image = imagecreate($width,$height);
//Declaramos variables para los colores. Al ser el gris el primer color que
//declaramos, éste se quedará como color de fondo en la imagen
$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$black = imagecolorallocate($image, 0x00, 0x00, 0x00);
$blue = imagecolorallocate($image, 0x00, 0x00, 0xFF);
//Recorremos el array 'votos'
for($i=0; list($texto, $vot) = each($votos); $i++) {
$labelfont = 2; //Fuente empleada para etiquetas
//Dibujamos las barras
//Coordenadas para definir el rectángulo
$valign = ($i+1)*$espacioCol + 15;
$halign = 30;
$valign2 = $valign + $altoCol;
$halign2 = $halign+$vot*$coeficiente;
imagefilledrectangle($image,$halign,$valign,$halign2,$valign2,$blue);
//Ponemos el índice de cada barra
//Coordenadas para colocar los indices
$indice = $i + 1;
$halign = 15;
imagestring($image, $labelfont, $halign, $valign, $indice, $black);
//Leyenda: Numero de opcion + Texto + ( votos )
//Coordenadas para colocar la leyenda
$valign = ($i+1)*$espacioCol + (count($votos)*$espacioCol)+ 15;
$halign = 30;
$leyenda = "Opcion ".$indice.": ".$texto." ($vot)";
imagestring($image, $labelfont, $halign, $valign, $leyenda, $black);
}
//Asignamos tipografía y colocamos el título en la parte superior izquierda
$titlefont = 3;
imagestring($image, $titlefont, 10, 10, $titulo, $black);
//Dibujamos el recuadro que encierra el contenido
imagerectangle($image, $width - 5, 30, 5, $height - 5, $black);
//Devolvemos la imagen
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
print "aaa";
?>