Esto ultimo lo actualizo mediante un UPDATE pero al salir de la página donde ejecuta la consulta:
Código:
haciahttp://..../votar.php?voto=x&id=y
Código:
que es en la que se muestra el numero de votos y la nota.http://...../x/
Tanto la nota como el número de votos aparece como si los últimos valores añadidos se hubieran duplicado, es decir si deben salir 6 (5+1) votos, salen 7 (5+2), y la suma de los votos en vez de 57 (50+7), sale 64 (50+14).
En la BD también salen estos datos erroneos.
Esta es la consulta:
Código PHP:
$aumentar_nota = mysql_query("UPDATE nombre_tabla SET votos_totales = '$sumar_voto', numero_de_votos = '$numero_de_votos', nota = '$nota' where id = '$id'",$conexion);
- Código PHP:
$numero_de_votos = $row["numero_de_votos"];
- Código PHP:
$suma_de_votos = $row["votos_totales"];
- Código PHP:
$numero_de_votos = $numero_votos + 1;
- Código PHP:
$sumar_voto = $suma_de_votos + $_GET["voto"];
- Código PHP:
$nota = $sumar_voto / $numero_de_votos;
- Código PHP:
$id = $_GET["id"];
He hecho que aparezcan las variables antes y despues de la consulta con un echo para saber su valor, y estaban bien.
He realizado un SELECT después del UPDATE para comprobar los datos que se habían metido y estaban bien.
He añadido 1 while($numero < 1) para controlar que no pase por ahi 2 veces.
Tengo un sistema de cookies para que no se pueda votar 2 veces, por lo que no pasa 2 veces por la consulta.
Tenía un meta refresh para que te devolviera a la pagina anterior (ruta exacta de la página), lo he quitado y sigue pasando lo mismo.
Pienso que el problema está al abandonar la página donde se actualiza la nota, pero no tengo ni idea de porque ocurre esto.
¿Qué creéis que esta pasando?, gracias :)