Foros del Web » Programando para Internet » PHP »

Cambio de Dato en Base de Datos MYSQL segun tiempo en Fechas

Estas en el tema de Cambio de Dato en Base de Datos MYSQL segun tiempo en Fechas en el foro de PHP en Foros del Web. Hola y buen dia para todos los programadores de PHP , me dirijo a ustedes pidiendo su ayuda en un caso de que no se ...
  #1 (permalink)  
Antiguo 11/08/2012, 12:36
 
Fecha de Ingreso: diciembre-2011
Mensajes: 6
Antigüedad: 12 años, 4 meses
Puntos: 0
Cambio de Dato en Base de Datos MYSQL segun tiempo en Fechas

Hola y buen dia para todos los programadores de PHP , me dirijo a ustedes pidiendo su ayuda en un caso de que no se como hacer .....


yo tengo un base de datos en MYSQL y tengo la siguiente tabla :

CREATE TABLE `empleados` (
`oni_empl` varchar(200) NOT NULL,
`grado_empl` varchar(200) NOT NULL,
`nombre_empl` varchar(200) NOT NULL,
`num_cuenta` char(50) NOT NULL,
`monto_pago` double NOT NULL,
`tipo` varchar(200) NOT NULL,
PRIMARY KEY (`oni_empl`),
UNIQUE KEY `oni_empl` (`oni_empl`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `empleados`
--

INSERT INTO `empleados` (`oni_empl`, `grado_empl`, `nombre_empl`, `num_cuenta`, `monto_pago`, `tipo`) VALUES
('10004', 'AGENTE', 'RAMOS RAMOS ALEX IVAN', '3111110077', 60, 'R');

SI PUEDEN DARME SITIOS DONDE PUEDA GUIARME O EJEMPLOS ESTARE MUY AGRADECIDO....

EL PROBLEMA ES EL SIGUIENTE:

que de la tabla en el campo "monto_pago" todos aquellos que se inserten con valor "60" pasados 6 meses cambie a 100 en la base de datos.

osea digamos se inserta en 01/enero/2012 con valor 60 yo necesito que mediante un script o funcion automaticamente revise que pasen los 6 meses y cambie el dia 01/junio/2012 a 100.

dependiendo del dia que se inserte el dato de 60 desde alli contabilice los 6 meses y despues cambie ese dato a 100


01/enero/2012 valor = 60 -------6 meses--------01/junio/2012 cambie a 100.




se que esto se hace un fechas pero no tengo ni idea como hacer... CUALQUIER SITIO CON FORMAS PARA HACERLO O EJEMPLOS QUE ME DIERAN LES AGRADECERIA MUCHO...les pido su ayuda y MUCHAS GRACIAS DE ANTEMANO....
  #2 (permalink)  
Antiguo 11/08/2012, 12:44
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 124
Antigüedad: 11 años, 8 meses
Puntos: 60
Respuesta: Cambio de Dato en Base de Datos MYSQL segun tiempo en Fechas

Puedes agregar otro campo con TIMESTAM llamado "last_update" que al inicio será el tiempo de registro. Entonces después cada vez que quieras actualizar o el usuario entre tomas el tiempo actual y haces

tiempo_actual - tiempo base de datos

eso te dará la cantidad de segundos que han transcurridos desde que se insertó la BD al día de hoy.
Luego contabilizas los 6 meses en segundos, si es menor o igual al tiempo restante, haces un update con el campo a 100 y modificas el last_update con el tiempo de la actualización restandole los segundos sobrantes o bla bla

Ahí creas tu propio algoritmo y juegas con las fechas :p
__________________
~~Aprendiendo.
Become a Programmer, Moth*rf*cker
  #3 (permalink)  
Antiguo 11/08/2012, 12:48
 
Fecha de Ingreso: diciembre-2011
Mensajes: 6
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Cambio de Dato en Base de Datos MYSQL segun tiempo en Fechas

ey muchas gracias Carloosolrac lo intentare aver como me sale..gracias por tu ayuda....
  #4 (permalink)  
Antiguo 11/08/2012, 12:53
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 124
Antigüedad: 11 años, 8 meses
Puntos: 60
Respuesta: Cambio de Dato en Base de Datos MYSQL segun tiempo en Fechas

De nada. Ahí tienes que ir jugando, que ayuda mucho para aprender :)

PD: TIMESTAMP, error de tipeo.
__________________
~~Aprendiendo.
Become a Programmer, Moth*rf*cker
  #5 (permalink)  
Antiguo 11/08/2012, 14:33
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: Cambio de Dato en Base de Datos MYSQL segun tiempo en Fechas

si, vas a necesitar un campo timestamp o datetime, algo que te diga cuando fue ingresado. luego comprobar desde ese campo hasta now() y si es mayor a 6 meses haces el update, esto lo podrías hacer con un procedimiento almacenado, o una función, de modo que lo llamarías cuando un empleado paga, y chequea ese empleado, y todos los demás, y hace update a los que sean necesarios.

Es lo mas "automático" que se puede, sin caer en un cron job.
  #6 (permalink)  
Antiguo 17/08/2012, 14:26
 
Fecha de Ingreso: diciembre-2011
Mensajes: 6
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Cambio de Dato en Base de Datos MYSQL segun tiempo en Fechas

gracias patriciomase..estoy ya intentando con lo que me has dicho muchas..Gracias solo una duda ese "now()" se puede usar en PHP...?...
  #7 (permalink)  
Antiguo 17/08/2012, 15:03
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Cambio de Dato en Base de Datos MYSQL segun tiempo en Fechas

now es de sql

http://www.w3schools.com/sql/sql_func_now.asp
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo

Etiquetas: dato, mysql, 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 01:39.