Foros del Web » Programando para Internet » PHP »

encuesta con problemas

Estas en el tema de encuesta con problemas en el foro de PHP en Foros del Web. Amigos les solicito ayuda con esta encuesta que encontre, esta buena y simple (funciona con un archivo txt sin bd), pero me registra como voto ...
  #1 (permalink)  
Antiguo 22/05/2003, 06:07
Avatar de KATHIE  
Fecha de Ingreso: enero-2003
Mensajes: 52
Antigüedad: 14 años, 10 meses
Puntos: 0
encuesta con problemas

Amigos les solicito ayuda con esta encuesta que encontre, esta buena y simple (funciona con un archivo txt sin bd), pero me registra como voto cada entrada a la página. y como hace los % siempre da erroneo, ya que los votos los multiplica por 100 y luego los divide por $total , que en ves de ser la suma de los votos, es la suma de las visitas.
lo raro esta en los # que escribe en cada visita, pero creo que se deberian escribir solo cuando se vota, o solo se deberia contar los votos y no los #.
aca va:
<tr align="center">
<td valign="bottom"><font face="Verdana, Arial, Helvetica, sans-serif"><?
$archivo="encuesta.txt";
//abrimos el archivo como lectura

$fp=fopen("$archivo","a+");

//grabamos el contenido con el # para poder separarlos despues

$w=fputs($fp,"$voto#");

//volvemos a abrir el archivo

$fp=fopen("$archivo","r");

//leemos el contenido del archivo

$resultado=fread($fp, filesize ($archivo));

//separamos el contenido por el simbolo #

$div=explode("#",$resultado);

//contamos el total de votos

$total=count($div)-1;

//hacemos un for que recorra voto por voto sumando un voto

for($i=0; $i<$total; $i++){
if($div[$i]=="op1"){
$op1++;
}
if($div[$i]=="op2"){
$op2++;
}

}
$grafico1 = $op1*100/$total;
$grafico2 = $op2*100/$total;

//redondeamos a dos cifras
$grafico1=round($grafico1);
$grafico2=round($grafico2);

?> </font>
<center>
<font face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#000000">
</font></b><font color="#000000"><font size="1"><b>Resultados:</b></font></font>
<br>
</font>
<table width="280" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="80"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><font color=blue><font color="#000000">Muy
Buena: </font></font></font></td>
<td width="300"><IMG HEIGHT="20" WIDTH="<?=$grafico1*100/$total ; ?>%" SRC="f.gif"></td>
<td align="right" width="50"><font face="Verdana, Arial, Helvetica, sans-serif" color="#9b4900"><font size="2"><? echo"$grafico1" ; ?>%</font></font></td>
</tr>

yo ya intente todo lo que pude, pero requiero ayuda de maestros...
  #2 (permalink)  
Antiguo 22/05/2003, 12:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ese código no está completo o no está pensado para trabajar como lo estas usando ..

En ninguna parte se distingue si ha de mostrar las votaciones o ha de contabilizar el voto que pueda entrarle por el formulario de votación que tampoco se vé ahí ..

Te recomiendo que leas las FAQ's de este foro .. si mal no recuerdo hay un sistema de votaciones que usa archivos de texto plano para el registro de los votos. ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 22/05/2003, 14:37
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 14 años, 7 meses
Puntos: 0
Pues yo probe ese script y iba perfecto:
http://www.hackingballz.com/leer.php?id=31
No se si lo sacaste de aquí, pero a mi me funciono a la perfección.

Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #4 (permalink)  
Antiguo 22/05/2003, 17:42
Avatar de KATHIE  
Fecha de Ingreso: enero-2003
Mensajes: 52
Antigüedad: 14 años, 10 meses
Puntos: 0
Pino:
no lo saque de allí, pero es similar, así que lo probaré.

gracias


Cluster:
el codigo no lo puse completo, pero según entiendo esas operacione las hace (o medio hace y ese es el problema).
Trataré con el links que envio Pino.

gracias a ambos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:44.