Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2008, 04:31
maribajar
 
Fecha de Ingreso: abril-2006
Mensajes: 128
Antigüedad: 18 años
Puntos: 1
Problemas con update

Buenos dias:
Estoy creando una encuesta con tres posibles valores donde elegir y en funcion de lo que elija se debe incrementar el voto en uno.
La encuesta la hago de la siguiente forma:

encuesta4.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Encuesta</title>
<?php
$holaa="hola";
$votar=$_GET['votar_x'];
?>
<script language="javascript">
marcado=false;
function mandar(f,b){
if ((marcado==true) && (b==true)){
window.open(' ', 'popup', 'width=500, height=400');
return true;
}
if ((marcado==false) && (b==true)){
alert("Por favor, elija una opción de la encuesta");
return false;
}
if ((marcado==false) && (b==false)){
window.open(' ', 'popup', 'width=500, height=400');
return true;
}
if ((marcado==true) && (b==false)){
window.open(' ', 'popup', 'width=500, height=400');
return true;
}
}
</script>
</head>

<body>
<?php
include ("../php/conexion.php");
$link=Conectarse();
$pregunta="SELECT * FROM encuestas WHERE id_encuestas=1";
$respuesta="SELECT * FROM respuestas WHERE encuestas_id_encuestas=1";
$sqlpregunta=mysql_query($pregunta,$link);
$sqlrespuesta=mysql_query($respuesta,$link);
$row=mysql_fetch_array($sqlpregunta);
?>
<table border="0">
<tr>
<td colspan="2"><p class="opinionencuesta">ENCUESTA </p><td>
</tr>
<tr>
<td colspan="2">
<form name="formu" method="get" action="respuesta4.php" target="popup" onsubmit="return mandar(this,b)">
<?php
$idencuesta=$row['id_encuestas'];
echo '<p class="encuesta"><input type="hidden" name="idencuesta" value="'.$row[0].'">'. $row['pregunta']. '</p></td></tr>';
while($row=mysql_fetch_array($sqlrespuesta)){

echo '<tr><td><p class="opcionencuesta"><input type="radio" onclick="marcado=true" name="opcion" value="'.$row[0].'">' .$row['texto'] .'</p></td></tr>';

}
?>
<tr>
<td>
<input type="image" name="votar" src="../botones/votar.jpg" value="votar" onclick="b=true">
<input type="image" name="resultado" src="../botones/resultados.jpg" value="resultado" onclick="b=false" >
</td>
</tr>

</form>
</body>
</html>


Y una vez elegida la opción se abriría una nueva ventana para mostrar los resultados donde primero se incrementaría el número de votos en función de la opción elegida y después ya se mostraría todo el resultado.
Y lo hago de la siguiente forma:

respuesta4.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Encuesta</title>
<link rel="stylesheet" typs="text/css" href="css/informacion.css">
</head>

<body id="fondo">
<?php
include ("../php/conexion.php");
$link=Conectarse();

$idencuesta=$_GET['idencuesta'];
$respuesta=$_GET['opcion'];

$actualizar="UPDATE respuestas SET votos=votos+1 where (id_respuestas=$respuesta)";
$actualizarresult=mysql_query($actualizar,$link);

$nuevo="SELECT * FROM respuestas where (id_respuestas=$respuesta)";
$sqlnuevo=mysql_query($nuevo,$link);
while($votosnuevo=mysql_fetch_array($sqlnuevo)){
echo "votosnuevo $votosnuevo[3]<br>";
}
?>
</body>
</html>

En este fragmento sólo tengo puesto la actualización de los votos, pero como esto no me lo hace bien, pues no he seguido con el resto del código, pero eso es irrelevante. Lo que quiero es que primero incremente perfectamente los votos y esto no lo hace ya que incrementa de 3 en 3 y no se porque, porque por mas que cambia la forma de update da igual.
Como se solucionaria esto, es decir, como se incrementaria perfectamente los votos de la base de datos, según como tengo planteada la encuesta4.php.
Muchas gracias de antemano