Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2008, 20:58
Avatar de mauricioadrian
mauricioadrian
 
Fecha de Ingreso: junio-2008
Mensajes: 157
Antigüedad: 15 años, 11 meses
Puntos: 0
Crear imagen para encuesta

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($image0xC00xC00xC0);
$black imagecolorallocate($image0x000x000x00);
$blue imagecolorallocate($image0x000x000xFF);

//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$titlefont1010$titulo$black);

//Dibujamos el recuadro que encierra el contenido
imagerectangle($image$width 5305$height 5$black);    

//Devolvemos la imagen
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
print 
"aaa";
?>