Tema: FAQ's de PHP
Ver Mensaje Individual
  #16 (permalink)  
Antiguo 27/11/2002, 08:41
vito_gris
 
Fecha de Ingreso: agosto-2002
Mensajes: 301
Antigüedad: 22 años, 3 meses
Puntos: 2
TEMA: Encuestas en php y mysql

PREGUNTA: Como hacer una encuesta en php

RESPUESTA:
Para hacer una encuesta con sus resultados graficados debes crear un tabla con los siguients campos (optativos)
1.- Idencuesta: identificador de cada encuesta

2.- pregunta:campo que almacena las pregunta

3.- respuesta1: campo que almacenara la respuesta a tu encuesta

4.- respuesta2:lo mismo que lo anterior esto dependera de la catidad de respuesta que tenga tu encuesta (por lo general 3 o 4)

5.- valor1: este campo almacena la cantidad de respuestas a cada respuesta o sea valor1 guardara todos los clic o respuestas que den en respuesta1.

6.- total:almacena el total de la suma de los campos valor1, valor2 o los que tengas

7.-Crea una imagen pequeña de uno 4x9 gif o cualquier formato para que te muestre los resultados graficados


****ENCUESTA:PHP****
Código PHP:
<?
$servidor 
"localhost"
$usuario "";
$password "";
$base_de_datos "encuesta";
$conextar=mysql_connect ($servidor,$usuario,$password);
    
mysql_select_db($base_de_datos);
    
$sqlupdate "UPDATE encuestas SET valor$voto = valor$voto+1, total = total+1";
    
mysql_query($sqlupdate,$conextar);
    
$sql "SELECT * FROM encuestas ORDER BY idencuesta desc LIMIT 1";
    
$resultados mysql_query($sql,$conextar);
    
$row mysql_fetch_array($resultados);
    
?>
<script type="text/javascript" language="JavaScript">
function resultados(){
window.open("resultados.php","","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=320,height=200");
}
</script>
<form name="form1" method="post" action="<?= $PHP_SELF?>">
  <table width="256" border="0" align="center" cellpadding="0" cellspacing="0" class="forumline">
    <tr valign="baseline"> 
      <td colspan="2" class="row1"> 
        <?=$row['pregunta']; ?>
        <br>
      </td>
    </tr>
    <tr> 
      <td width="110"> 
        <?=$row['respuesta1'];?>
      </td>
      <td width="146"><input type="radio" name="voto" value="1">
      </td>
    </tr>
    <tr> 
      <td> 
        <?=$row['respuesta2'];?>
      </td>
      <td><input type="radio" name="voto" value="2"></td>
    </tr>
    <tr> 
      <td> 
        <?=$row['respuesta3'];?>
      </td>
      <td><input type="radio" name="voto" value="3"></td>
    </tr>
    <tr align="center"> 
      <td height="20" colspan="2"><input type="submit"  class="post"name="Submit" value="Votar" onClick=window.open("resultados.php","","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=320,height=200");
></td>
    </tr>
  </table>
  <p>&nbsp;</p></form>
****RESULTADOS.PHP****************
Código PHP:
<html>
<head>
<title>Resultados de la encuesta</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    background-color: #FFFFDD;
}
td {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
}
-->
</style>
</head>
<body>
<?
$servidor 
"localhost"
$usuario "";
$password "";
$base_de_datos "encuesta";
$conextar=mysql_connect ($servidor,$usuario,$password);
    
mysql_select_db($base_de_datos);
    
//$sqlupdate = "UPDATE encuestas SET valor$voto = valor$voto+1, total = total+1";
    //mysql_query($sqlupdate,$conextar);
    
$sql "SELECT * FROM encuestas ORDER BY idencuesta desc LIMIT 1";
    
$resultados mysql_query($sql,$conextar);
    
$row mysql_fetch_array($resultados);
 
$res1round ($row['valor1']*100/$row['total'],2);
 
$res2round ($row['valor2']*100/$row['total'],2);
 
$res3round ($row['valor3']*100/$row['total'],2);
 
?>
<p>Resultados parciales de la encuesta</p>
<?=$row['pregunta']; ?><br>
<br>

<TABLE WIDTH="300"  BORDER="1" ALIGN="center"  BORDERCOLOR="#3097A3">
  <TR>
     <TD WIDTH="100"><?=$row['respuesta1']; ?></TD> 
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor1"]*100/$row["total"]?>%" SRC="encuesta/barra.gif"></TD>
    <TD ALIGN="center" WIDTH="70"><? echo $res1."%";?> </TD>
  </TR>
  <TR>
   <TD WIDTH="100" ><?=$row['respuesta2']; ?></TD>
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor2"]*100/$row["total"]?>%" SRC="encuesta/barra.gif"></TD>
    <TD ALIGN="center" WIDTH="70"><? echo $res2."%";?> </TD>
  </TR>
  <TR>
     <TD WIDTH="100"><?=$row['respuesta3']; ?></TD>
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor3"]*100/$row["total"]?>%" SRC="encuesta/barra.gif"></TD>
    <TD ALIGN="center" WIDTH="70"><? echo $res3."%";?> </TD>
  </TR>
</TABLE>
<form name="form1" method="post" action="">
  <div align="center">
    <p>
      <input type="submit" name="Submit" value="Cerrar Ventana" onclick="window.close();">
    </p>
    <p>&nbsp; </p>
  </div>
</form>
</body>
</html>
Dudas o comentarios favor de enviar mensaje privados
Gracias

NOTA: .. la llamada a la funcion javascript window.open( .. parametros) .. Ha de estar en una sola linea y sin espacios entre los parametros, pese q si hacen un cut-and-paste veran esos saltos de línea y algun espacio por medio.

Última edición por vito_gris; 01/04/2005 a las 15:33