Foros del Web » Programando para Internet » PHP »

IMpedir numero negativos

Estas en el tema de IMpedir numero negativos en el foro de PHP en Foros del Web. Lo pongo en php por que no se si se puede hacer desde mysql.. y veo mas posible hacelo desde php,desde MYSQL seria genia.. para ...
  #1 (permalink)  
Antiguo 15/03/2010, 16:30
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 15 años, 1 mes
Puntos: 22
IMpedir numero negativos

Lo pongo en php por que no se si se puede hacer desde mysql.. y veo mas posible hacelo desde php,desde MYSQL seria genia.. para no aumentar mas el código :(
Tengo un For que repite una consulta varias veces.. así
update tabla set oro=oro-1 plata=-1
Osea resta una moneda de oro y de plata.. el for se repite X veces.. el problema es que no tienes las mismas monedas de oro que de plata :S
Por lo que si repites 100 veces y tienes 50 monedas de oro se quedan en -50..
Pero claro.. tiene que ser 100 veces :(
100 veces en un ejemplo.. el numero de veces depende de otras variables y no es solo oro y plata.. hay cobre y algo mas..
Osea seria una ruina tener que comprobarlo 1 a 1 :(
por que cada 100 puntos de cobre equibale a una moneda.. cada 50 de oro una moneda de oro.. osea tendria que dividir restar.. un monton de veces...
Si se pudiese desde mysql poner la propiedad al INT de que minimo sea 0 y maximo 9999999.. estaria bien ¿se puede?

Última edición por angel1993; 15/03/2010 a las 16:56
  #2 (permalink)  
Antiguo 15/03/2010, 17:02
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 3 meses
Puntos: 66
Respuesta: IMpedir numero negativos

Puede que haya otra solución pero mira si te sirve esto:
Código PHP:
<?php
$sql
="select * from tabla",
$query=mysql_query($sql);
while(
$row=mysql_fetch_array($query)){
if(
$row["oro"]>0)
"update tabla set oro=oro-1"
if($row["plata"]>0)
"update tabla set plata=-1"
..............
..............
}
?>
__________________
Tu álbum de cromos online!!

Etiquetas: impedir, numero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:36.