17/05/2012, 12:48
|
| | Fecha de Ingreso: mayo-2012
Mensajes: 2
Antigüedad: 12 años, 6 meses Puntos: 0 | |
update si se cumple condición de un select Buenos dias.
estoy haciendo un programa en php y necesito hacer que mientras la suma de unos valores de un campo puntos seha menor o igual a 30 me actualice otro campo de la misma tabla con un valor de uno que se llama jugado este es un ejemplo de la tabla
puntos registrado jugado
10 1 0
10 1 0
10 1 0
05 1 0
05 1 0
en esta tabla se cambian los tres primeros registros y los dos ultimo quedan lo mismo, debe de quedar asi:
puntos registrado jugado 10 1 1
10 1 1
10 1 1
05 1 0
05 1 0
este es el codigo pero al momento de hacer el update no se como condicionarlo para que me sume el campo puntos y si es menor o igual que 30 me actualice jugado.
$consulta = mysql_query("SELECT * FROM codigosextras WHERE usuario='$usuario' AND registrado='1' AND jugado='0'")
or die (mysql_error());
while ($x=mysql_fetch_array($consulta))
{
$suma=$suma+$x['puntos'];
}
echo "El tiempo acumulado es : $x <br>";
if ($suma<30)
{
echo "el tiempo acumulado extra a descontar es inferior a 30 minutos<br>";
}
else
{
$suma1=0;
$consulta1 = mysql_query("SELECT * FROM codigosextras WHERE usuario='$usuario' AND jugado='0'")
or die (mysql_error());
while ($y=mysql_fetch_array($consulta1))
{
$suma1=$suma1+$y['puntos'];
if ($suma1<=30)
{
mysql_query("UPDATE codigosextras SET jugado=1 WHERE $suma1<=30 AND usuario='$usuario' AND jugado=0");
}
}
$consulta = mysql_query("SELECT * FROM codigosextras WHERE usuario='$usuario' AND jugado='0'")
or die (mysql_error());
while ($x=mysql_fetch_array($consulta))
{
$suma2=$suma2+$x['puntos'];
}
echo "su nuevo tiempo acumulado es : $suma2 <br>";
}
Les agradezco la colaboración
Última edición por ortizjuancho; 17/05/2012 a las 13:08 |