Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/09/2003, 14:43
Zertiko
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Actualizar encuesta antes de abrir popup

Hola, antes que nada gracias desde ya!!!

Siguiendo la FAQ que hay en este foro para realizar una encuesta me encontrado con un problemilla que no se como solucionar..., la cuestion es que el archivo encuesta.php se envia el form de la encuesta a si mismo con $_SERVER['PHP_SELF']; y con un evento onClick abre un popup con la pagina resultados.php que contiene los resultados de las votaciones extraídos de la tabla de la encuesta.., el problema es que claro muchas veces abre antes el popup que procesa el contenido del form que actualiza la tabla que contiene los campos de la encuesta..., con lo que el ultimo voto enviado muchas veces no aparece contabilizado, si lo enviase mediante un target=_blank directamente a resultados.php estaría solucionado el problema..., pero la cuestión es que quiero que resultados.php se abra en un popup con el ultimo voto enviado al enviar el formulario de la encuesta.

¿Como podría hacer eso?

A continuación pego el código porque pa mí que no me explicao mu bien... xdd


Código PHP:
// encuesta.php

<? 
$conexion 
mysql_connect ("localhost","usuario","password");
$base "encuestas"
mysql_select_db($base$conexion); 
$sqlupdate "UPDATE encuestaaec SET Valor$voto = Valor$voto+1, Total = Total+1"
mysql_query($sqlupdate$conexion); 
$sql "SELECT * FROM encuestaaec ORDER BY Idencuesta desc LIMIT 1"
$resultados mysql_query($sql$conexion); 
$row mysql_fetch_array($resultados); 
?> 
<FORM name="form1" method="post" action="$_SERVER['PHP_SELF'];">  
<TABLE width="200" bgcolor="#EFEFEF" border="1" bordercolor="#003366" align="center" cellpadding="3" cellspacing="1" class="forumline"> 
<TR bgcolor="#CCCCCC" valign="middle">
<TD height="25" colspan="2"> 
        <DIV align="center"><FONT face="arial" size="1"><STRONG> 
          <?=$row['Pregunta'];?>
          </STRONG></FONT></DIV> 
</TD> 
</TR> 
<TR> 
<TD width="150">
<DIV align="left"><FONT face="arial" size="1"><STRONG>  
<?=$row['Respuesta1'];?>
</STRONG></FONT></DIV>  
</TD> 
<TD width="50" align="center">
<INPUT type="radio" name="voto" value="1">
</TD> 
</TR> 
<TR> 
<TD>
<DIV align="left"><FONT face="arial" size="1"><STRONG> 
<?=$row['Respuesta2'];?>
</STRONG></FONT></DIV> 
</TD> 
<TD align="center"><INPUT type="radio" name="voto" value="2"></TD> 
</TR> 
<TR> 
<TD>
<DIV align="left"><FONT face="arial" size="1"><STRONG> 
<?=$row['Respuesta3'];?>
</STRONG></FONT></DIV> 
</TD> 
<TD align="center">
<INPUT type="radio" name="voto" value="3">
</TD> 
</TR>
<TR> 
<TD>
<DIV align="left"><FONT face="arial" size="1"><STRONG> 
<?=$row['Respuesta4'];?>
</STRONG></FONT></DIV> 
</TD> 
<TD align="center">
<INPUT type="radio" name="voto" value="4">
</TD> 
</TR> 
<TR bgcolor="#CCCCCC" align="center"> 
<TD height="35" colspan="2">
<INPUT type="submit" class="post" name="Submit" value="Votar"  style="background-color:#efefef;font-family:arial;font-size:7pt;font-weight:bold" onClick=window.open("resultados.php","popup","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=550,height=225")>
</TD> 
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>



// Resultados.php
<? 
$servidor 
"localhost"
$usuario "usuario"
$password "password"
$base "encuestas"
$conexion mysql_connect ($servidor,$usuario,$password); 
mysql_select_db($base$conexion); 
$sql "SELECT * FROM encuestaaec ORDER BY idencuesta desc LIMIT 1"
$resultados mysql_query($sql,$conexion); 
$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); 
$res4round ($row['Valor4']*100/$row['Total'],2);
?>
<TABLE align="center" width="500" border="0" bordercolor="#003366">
<TR align="center">
<TD>
Resultados parciales de la Encuesta
</TD>
</TR>
<TR align="center">
<TD>
<FONT face="arial" size="2"><STRONG>
<?=$row['Pregunta']; ?>
</STRONG></FONT>
</TD>
</TR>
</TABLE>
<TABLE width="500" border="1" align="center" cellpadding="2" cellspacing="1" bordercolor="#000066" bgcolor="#EFEFEF">
  <TR bgcolor="#CCCCCC"> 
<TD height="25" width="200"><?=$row['Respuesta1']; ?></TD> 
<TD width="*"><IMG height="15" width="<?=$row["Valor1"]*100/$row["Total"]?>%" src="barra.gif"></TD> 
<TD align="center" width="70"><? echo $res1."%";?></TD> 
</TR> 
<TR> 
<TD height="25" width="200" ><?=$row['Respuesta2']; ?></TD> 
<TD width="*"><IMG height="15" width="<?=$row["Valor2"]*100/$row["Total"]?>%" src="barra1.gif"></TD> 
<TD align="center" width="70"><? echo $res2."%";?> </TD> 
</TR> 
<TR bgcolor="#CCCCCC"> 
<TD height="25" width="200"><?=$row['Respuesta3']; ?></TD> 
<TD width="*"><IMG height="15" width="<?=$row["Valor3"]*100/$row["Total"]?>%" src="barra2.gif"></TD> 
<TD align="center" width="70"><? echo $res3."%";?> </TD> 
</TR>
<TR> 
<TD height="25" width="200"><?=$row['Respuesta4']; ?></TD> 
<TD width="*"><IMG height="15" width="<?=$row["Valor4"]*100/$row["Total"]?>%" src="barra3.gif"></TD> 
<TD align="center" width="70"><? echo $res4."%";?> </TD> 
</TR> 
 </TABLE>
 <?
 
echo "<br><div align='center'>Número total de votos ".$row['Total']."</div>";
 
?> 
<FORM name="form1" method="post" action=""> 
<DIV align="center"> 
<INPUT type="submit" name="Submit" value="Cerrar Ventana" style="background-color:#efefef;font-family:arial;font-size:7pt;font-weight:bold" onClick="window.close();"> 
</DIV> 
</FORM> 
</BODY> 
</HTML>

Perdón si he pasteao mucho código es pa explicarme mejor...

Un saludo