Foros del Web » Programando para Internet » PHP »

Acumular registros en BD (adicionar)

Estas en el tema de Acumular registros en BD (adicionar) en el foro de PHP en Foros del Web. Buenas, estoy haciendo una pequeño script en php para aprender y he llegado a la parte de conexiones sql y eso.. Y en el script ...
  #1 (permalink)  
Antiguo 19/09/2009, 16:59
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Acumular registros en BD (adicionar)

Buenas, estoy haciendo una pequeño script en php para aprender y he llegado a la parte de conexiones sql y eso.. Y en el script quiero llevar una cuenta "acumulada" de meses por usuario..

Mi pregunta es la siguiente:

Tengo una base de datos con los siguientes campos

ID - Usuario - Acumulado

Supongamos que tengo los siguientes datos

ID - Usuario - Acumulado
1 - User 1 - 1mes
2 - User 3 - 2meses
3 - User 3 - 3meses

Y quiero que de 1 solo query el acumulado aumente, por ejemplo, si tiene 0 meses, pase a 1 mes, con 2 meses, a 3 meses y asi.. Mas o menos este es el codigo que tengo:


Código PHP:
  $sql "SELECT * FROM clientes"
  
$res mysql_query($sql$conn) or die(mysql_error()); 
  
$row mysql_fetch_assoc($res); 
  
$acumulado$row["acumulado"]; 
  if(
$acumulado == "Al Dia"){ 
                
$acumulado2 "1 mes"
                
$sql_resta="UPDATE clientes SET acumulado = '" .$acumulado2."'"
                   
mysql_query($sql_resta$conn) or die(mysql_error()); 
            } 


El caso es que.. Me hace update de todos los campos, es decir me lee solo el primero y hace el update en todos los campos segun ese, entonces me daja la tabla asi

ID - Usuario - Acumulado
1 - User 1 - 2meses
2 - User 3 - 2meses
3 - User 3 - 2meses


Gracias por adelantado :P
  #2 (permalink)  
Antiguo 19/09/2009, 20:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Acumular registros en BD (adicionar)

Tienes que usar la clausula de WHERE indicandole a que ID quieres agregarle el mes. Si le quieres aumentar a todos. Lo mejor es que conviertas el campo a numero solamente y asi puedes aumentarlos a todos. La palabra meses no la uses, usala en el codigo de PHP.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 19/09/2009, 22:17
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 2 meses
Puntos: 7
Respuesta: Acumular registros en BD (adicionar)

asi como te dijo abimael, ese campo lo tienes que manejar como de tipo entero, y segun veo lo unico que haces es aumentar en 1 cada registro a ese campo..... eso se puede hacer asi:

Código mysql:
Ver original
  1. UPDATE clientes SET acumulado = acumulado + 1

pero tienes que convertir el campo a entero.
  #4 (permalink)  
Antiguo 20/09/2009, 10:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Acumular registros en BD (adicionar)

vale muchas gracias ^^
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:49.