Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/08/2003, 10:52
Sadmin
 
Fecha de Ingreso: marzo-2003
Mensajes: 120
Antigüedad: 21 años, 1 mes
Puntos: 0
mysql increment indeseado

Hola otra vez,
esta es una de esas preguntas de php - mysql que pienso varias veces antes de lanzarlas al foro (porque puede ser algo obvio! , pero me tiene desesperado

resulta que tengo un sencillo juego en linea, en el el cual el usuario contesta preguntas de opcion multiple cuando da clic en la opcion correcta se redirecciona a una pagina que contiene una animacion y el siguiente script php

lo que hace es buscar un registro de score (puntaje) en la base de datos leer los puntajes, incrementar el numero, y luego re-escribir (update) el registro en la BD - no es mas!,
hasta donde entiendo esto deberia funcionar, pero el extraño fenomeno es que cada vez que lo ejecuto se incrementa DOS (2) VECES de tal manera que en cada clic el usuario se le adjudica el doble del puntaje
y el juego rebasa el tope y se termina antes de tiempo
he re-escrito completamente el codigo tres veces y nada


Código PHP:
<title>acertaste!</title>
<!-- finaliza la animacion  hay un html de refresco automatico 0 segundos -->
<meta http-equiv="Refresh" content="0; url=jugar.html">
<?
include "config.php"// obtengo los datos de conexion MYSQL
$conexion=$sock=mysql_connect(DBHOST,DBUSER,DBPASS);
mysql_select_db(DB);
// la seleccion
$query_select="SELECT no_preguntas,no_puntaje FROM calificaciones WHERE calificaciones.id=1";
$result_select=mysql_query($query_select,$conexion);
$fila_select=mysql_fetch_array($result_select);
$preguntas=$fila_select["no_preguntas"];
$puntaje=$fila_select["no_puntaje"];
// muestra valores actuales
echo "hay".$preguntas."preguntas";
echo 
"hay".$puntaje."puntaje";
// como la respuesta es correcta se incrementa el total de preguntas y el puntaje
$preguntas++;
$puntaje++;
// actualizo datos en la BD
$query_update="UPDATE `calificaciones` SET `no_preguntas` ='$preguntas',";
$query_update.="`no_puntaje` = '$puntaje' WHERE `id` = 1 LIMIT 1 ";
mysql_query($query_update,$conexion);
echo 
$query_select;
echo 
"\n";
echo 
$query_update;
?>
a alguno le ha sucedido?
alguien sabe donde esta el error?
Gracias un mega.
__________________
a christian can be a developer
and a free person
http://dinerodigitalip.blogspot.com/