Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Restar un valor hasta llegar a 0

Estas en el tema de Restar un valor hasta llegar a 0 en el foro de Mysql en Foros del Web. Hola gente!, soy nuevo en todo este tema, en esta ocasión mi duda seria la siguiente, supongamos que tengo una DB, en ella una tabla ...
  #1 (permalink)  
Antiguo 20/12/2011, 10:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Restar un valor hasta llegar a 0

Hola gente!, soy nuevo en todo este tema, en esta ocasión mi duda seria la siguiente, supongamos que tengo una DB, en ella una tabla llamada "usuarios" con un campo llamado "dias" ... este campo "dias" tiene un valor (osea un numero) de 30, quiero saber si me pueden decir como hacer para que mediante php cada ves que ejecute dicho script se le reste -1 a este valor (osea el 30) pero SOLAMENTE si el numero no es 0... osea una ves que el valor vaya bajando (30,29,28,etc) y llegue a 0 no se reste mas.

Saludos che!

PD: Quiero que dicha resta se aplique a toda la tabla "usuarios" y no a uno especifico.
  #2 (permalink)  
Antiguo 20/12/2011, 10:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Restar un valor hasta llegar a 0

Cita:
quiero saber si me pueden decir como hacer para que mediante php cada ves que ejecute dicho script se le reste -1 a este valor
Si tu problema es cómo resolver eso mediante PHP, estás posteando en el foro equivocado. Acá se tratan temas de SQL. PHP es otro foro y este no es un sub-foro de ese, sino de Bases de Datos..

Si la duda es cómo implementar eso en SQL, podemos discutirlo, pero tendrás que dar más información. Lo que dices es insuficiente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 20/12/2011, 10:56
 
Fecha de Ingreso: marzo-2010
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Restar un valor hasta llegar a 0

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si tu problema es cómo resolver eso mediante PHP, estás posteando en el foro equivocado. Acá se tratan temas de SQL. PHP es otro foro y este no es un sub-foro de ese, sino de Bases de Datos..

Si la duda es cómo implementar eso en SQL, podemos discutirlo, pero tendrás que dar más información. Lo que dices es insuficiente.
Osea ... mediante php obviamente desde ahí se ejecutaría una consulta o algo para mysql pero básicamente el tema es mysql (si no es como digo seguro un mod movera el post) ... y no se que parte no entendes, creo que lo explique bastante claro... quiero restar 1 a un valor mientras dicho valor sea mayor a 0 ... osea si el valor en dicho campo es 30, se le reste 1 osea quedaría en 29, ahora si ese valor llega a 0 no se reste mas ... saludos!.

EDIT:

Cita:
Quiero que dicha resta se aplique a toda la tabla "usuarios" y no a uno especifico.
  #4 (permalink)  
Antiguo 20/12/2011, 11:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Restar un valor hasta llegar a 0

Yo entendí perfectamente, pero cuando se trata de SQL, el que uses PHP, VB, C++, C# o LINQ es absolutamente irrelevante para el asunto. El SQL y la base de datos son independientes de los lenguajes de programación, por lo que que lo ejecutes en uno determinado no hace al problema.
Además, vos en ese párrafo no preguntabas por la consulta a la base, sino que hablabas de la iteración de la operación en el script... de PHP.

Yendo al asunto en cuestión, la consulta para lograr lo que quieres es muy elemental, especialmente porque quieres que se aplique:
1) A todos los registros donde el valor de la columna sea mayor a cero (0).
2) Procese toda la tabla donde ese valor cumpla la condición, sin otra distinción.
O sea que estamos hablando de un UPDATE masivo con una sola condición...

Algo como
Código MySQL:
Ver original
  1. UPDATE usuarios
  2. SET dias = dias-1
  3. WHERE dias > 0;
o bien:
Código MySQL:
Ver original
  1. UPDATE usuarios
  2. SET dias = IF(dias > 0, (dias-1), dias);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 20/12/2011, 11:11
 
Fecha de Ingreso: marzo-2010
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Restar un valor hasta llegar a 0

Claro, convengamos que no soy muy bueno con todo el tema y me complico bastante igual no es de "mala leche" la contestación, aclaro, igual entendiste perfectamente el punto al cual quería llegar ... ahora pruebo y edito que tal me fue capo.

EDIT: Me funciono perfectamente capo, te agradezco che!

Última edición por kamikaze21; 20/12/2011 a las 11:20
  #6 (permalink)  
Antiguo 20/12/2011, 11:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Restar un valor hasta llegar a 0

No problem.
Es que en este ámbito tenemos la tendencia a ser muy específicos con las cosas. Pensaimento científico-técnico, que le dicen.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: php, restar, tabla
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 14:34.