Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] multiplicacion de campo tipo time con entero

Estas en el tema de multiplicacion de campo tipo time con entero en el foro de PHP en Foros del Web. Buenas noches, agradeciendo de antemano a todo aquel q me pueda ayudar....tengo dos campos en formulario uno es una hora que se captura desde la ...
  #1 (permalink)  
Antiguo 06/08/2014, 19:27
 
Fecha de Ingreso: mayo-2014
Mensajes: 8
Antigüedad: 9 años, 10 meses
Puntos: 0
multiplicacion de campo tipo time con entero

Buenas noches, agradeciendo de antemano a todo aquel q me pueda ayudar....tengo dos campos en formulario uno es una hora que se captura desde la base de datos de un campo tipo time y el otro es la cantidad de horas q el usuario requiere necesito multiplicar este campo tipo "hora" con el entero por favor ayuda
Todo esta por medio de variables muchas gracias !!!.....
  #2 (permalink)  
Antiguo 06/08/2014, 19:42
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: multiplicacion de campo tipo time con entero

Sería cuestión de que separes los elementos de la hora y los multipliques por el número en cuestión, luego, vas descontando minutos y segundos a los valores resultantes de las multiplicaciones hasta que coincidan con el formato tradicional, es decir, los minutos y segundos no pueden ser mayores ni iguales a 60.

Código PHP:
Ver original
  1. function multi($hora, $cantidad){
  2.     $array = explode(':', $hora);
  3.     $segundos = $array[2] * $cantidad;
  4.     $minutos = $array[1] * $cantidad;
  5.     $horas = $array[0] * $cantidad;
  6.  
  7.     while ($segundos >= 60){ //Si los segundos son mayores o iguales a 60
  8.         $segundos -= 60; //Les resto 60
  9.         $minutos++; //Y aumento un minuto
  10.     }
  11.  
  12.     while ($minutos >= 60){ //Si los minutos son mayores o iguales a 60
  13.         $minutos -= 60; //Les resto 60
  14.         $horas++; //Y aumento una hora
  15.     }
  16.  
  17.     return $horas . ':' . $minutos . ':' . $segundos;
  18. }
  19.  
  20. echo multi('18:33:29', 4); //Imprime 74:13:56
  21. echo multi('3:21:20', 2); //Imprime 6:42:40

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 06/08/2014, 20:05
 
Fecha de Ingreso: mayo-2014
Mensajes: 8
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: multiplicacion de campo tipo time con entero

Buenas Noches y muchas gracias por responder tan pronto quisiera aclarar algo sobre el problema que tengo y es q necesito que si tengo 01:20:00 * 2 el resultado sea 02:40:00 o si es 00:30:00 * 3 el resultado sea 01:30:00 ademas poner este valor en una variable para poder guardarlo en la base de datos en un capo tipo time perdon si estoy pidiendo algo imposible solo q le he dado tantas vueltas al asunto que por eso pido ayuda .....gracias
  #4 (permalink)  
Antiguo 06/08/2014, 20:14
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: multiplicacion de campo tipo time con entero

Cita:
Iniciado por patricia29cali Ver Mensaje
necesito que si tengo 01:20:00 * 2 el resultado sea 02:40:00 o si es 00:30:00 * 3 el resultado sea 01:30:00
¿Y qué crees que hace lo que te acabo de mostrar? Supongo que al menos lo habrás probado, ¿verdad?

Lo único que te tocaría hacer es almacenar ese resultado en una variable para después guardarlo o incluso puedes insertar directamente en la BD el resultado de la invocación de esa función. Por favor, no te limites a copiar y pegar el código que se te proporciona, analízalo para que aprendas y lo adaptes a lo que necesitas.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 06/08/2014, 20:26
 
Fecha de Ingreso: mayo-2014
Mensajes: 8
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: multiplicacion de campo tipo time con entero

Gracias Gracias infinitas gracias Alexis888 fue mas q perfecto tu respuesta no te enojes claro q lo estaba probando y solo lo aclare por q senti q no habia dado la suficiente informacion pero fue perfecta tu respuesta

Etiquetas: enteros, multiplicacion, mysql, time
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 16:17.