En el código de abajo algo tiene que haber mal, puesto que a veces me inserta 2 o mas registros iguales en la base de datos en la ejecución del script, de la misma manera está programado para que si se han realizado un número determinado de apuestas este lance un mensaje y no inserte datos en la base de datos, cosa que a veces también falla.
¿Alguien que me eche un cable? Porque este me está volviendo loco.....
Código PHP:
if($mode == "escoger")
{
$sqla = mysql_query("SELECT * FROM ".SORTEADOS_TABLE." WHERE sorteo = ".$_REQUEST['sorteo']." AND username='".$userdata['username']."'") ;
$ya_ha_apostado = mysql_num_rows($sqla);
$sqlz = mysql_query("SELECT sorteo_apuestas FROM " .SORTEOS_TABLE." http://www.forosdelweb.com/newthread.php?do=postthread&f=18#
Mostrar MásWHERE sorteo_id = ".$_REQUEST['sorteo']);
$cuantas = mysql_fetch_assoc($sqlz);
$tope_apuestas = $cuantas['sorteo_apuestas'];
if($ya_ha_apostado >= $tope_apuestas)
{
if($tope_apuestas == 1)
{
$mensaje = "Ya estás participando en este sorteo y <b>no</b> puedes escoger mas números.";
}
if($tope_apuestas > 1)
{
$mensaje = "Ya estás participando en este sorteo ya has alcanzado la cantidad máxima permitida (".$cuantas['sorteo_apuestas'].") de números que puedes escoger.";
}
message_die(GENERAL_ERROR, $mensaje."<br /><br /> <a href='sorteos.php'>Volver</a>");
}
elseif ($ya_ha_apostado < $tope_apuestas)
{
if($tope_apuestas > $ya_ha_apostado )
{
$sqli ="INSERT INTO ".SORTEADOS_TABLE." (user_id, username, sorteo, numero) VALUES(".$_REQUEST['user_id'].", '".$_REQUEST['nombre']."', ".$_REQUEST['sorteo'].", ".$_REQUEST['numero'].") ";
if ( !$db->sql_query($sqli) )
{
message_die(CRITICAL_ERROR, 'No inserta datos.<br />', '', __LINE__, __FILE__, $sqli);
}
}
message_die(GENERAL_MESSAGE," ". $_REQUEST['nombre']." has escogido el número <b>".$_REQUEST['numero']."</b> para participar en el este sorteo. SUERTE.....;) <br /><br /> <a href='sorteos.php'>Volver</a>");
}
}