Foros del Web » Programando para Internet » PHP »

como calcular los dias de retraso

Estas en el tema de como calcular los dias de retraso en el foro de PHP en Foros del Web. hola amigos ando creando una aplicación sencilla para mi vídeo tienda y estoy en la parte donde he alquilado la peli y quiero llevar el ...
  #1 (permalink)  
Antiguo 13/09/2010, 14:12
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 8 meses
Puntos: 8
como calcular los dias de retraso

hola amigos ando creando una aplicación sencilla para mi vídeo tienda y estoy en la parte donde he alquilado la peli y quiero llevar el control de la fecha de devolución y este de ha pasado indique y cobre una multa.

como puedo hacer esto

lo que ingreso esl a fecha de devolución 2010-09-15 entonces q me indique cuantos días llevo de retraso

el pensado según yo creo q coger la fecha actual y restarla con la fecha de devolución pero no se como pues no soy muy duro en el código apenas estoy iniciando.
recurro a ustedes que has sido como mi guía y profesores para seguir en este camino.

gracias
  #2 (permalink)  
Antiguo 13/09/2010, 15:43
Avatar de boby6killer  
Fecha de Ingreso: abril-2008
Mensajes: 81
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: como calcular los dias de retraso

Si estas trabajando con mysql te sirve la funcion datediff, si estas trabajando directamente solo con php, entonces utiliza el mktime para que puedas hacer los calculos con la fecha unix
  #3 (permalink)  
Antiguo 13/09/2010, 16:04
 
Fecha de Ingreso: febrero-2009
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: como calcular los dias de retraso

te tiro una query que a mi sirve muchisimo

query_cantidad_bandeja = "SELECT DATEDIFF(CURDATE(),fecha_de_tabla) AS dias_espera
FROM tabla
WHERE campo = 'condicion'
ORDER BY campo ASC";

aqui DATEDIFF(CURDATE(),fecha_de_tabla) hace la magia, en donde CURDATE() es la fecha de hoy del sistema, esto saca en int los dias de espera osea (10 o 15 los dias que correspondan)

saludos
  #4 (permalink)  
Antiguo 13/09/2010, 16:35
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: como calcular los dias de retraso

ok voy a probar , pero recibo mas consejos y sugerencias
  #5 (permalink)  
Antiguo 14/09/2010, 08:26
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: como calcular los dias de retraso

como podria intergrar la sql de viweb a una inner join que tengo
Código PHP:
Ver original
  1. SELECT *
  2. FROM factulineatmp inner join peliculas
  3. WHERE factulineatmp.codarticulo=peliculas.codigo    AND factulineatmp.codcliente  = colname

cual seria su correcta forma
gracias

esa sql la hago para sacar a los clientes que tienen peliculas
  #6 (permalink)  
Antiguo 14/09/2010, 08:34
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 2 meses
Puntos: 334
Respuesta: como calcular los dias de retraso

yo lo plantearia en PHP..
Código PHP:
$fecha_entrega "2010-09-14";
function 
atraso($fecha)
{
    return 
floor((time()-strtotime($fecha)) / (60 60 24 ));
}
echo 
atraso($fecha_entrega); 
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 14/09/2010, 08:38
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: como calcular los dias de retraso

y cual es la mejor opcion php o sql ? Hidek1?
  #8 (permalink)  
Antiguo 14/09/2010, 08:41
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 2 meses
Puntos: 334
Respuesta: como calcular los dias de retraso

Depende .. tu pregunta es tan relativa como decir .. "Es mejor el color azul o el color verde?"
tanto la alternativa en php como en sql son viables.. yo por lo general me inclino por el lado de PHP por un tema de rápida edición, entendimiento, mantención, etc.. pero es una opción personal.. tu puedes elegir la que quieras.

saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #9 (permalink)  
Antiguo 14/09/2010, 08:45
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: como calcular los dias de retraso

ammm pues mi idea es hacer una tabla donde buena ver el nombre de mi cliente y la pelicula que alquilo y su dias de retraso, ya tengo la sql para mostrar los clientes y las peliculas pero quiero es agregar los dias de retraso, podria utilizar el digo q tu me aconsejas php y agregarlo a la tabla y hacer un q se repita un ciclo???
  #10 (permalink)  
Antiguo 14/09/2010, 09:09
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: como calcular los dias de retraso

ya lo he probado y creo que en mi caso seria mejor tratar de integrarlo en la SQL para q qde todo unido
como puedo unir las 2 sql en una sola?

SQL para mostrar los clientes q tienen peliculas
Código HTML:
Ver original
  1. SELECT *
  2. FROM factulineatmp inner join peliculas
  3. WHERE factulineatmp.codarticulo=peliculas.codigo    AND factulineatmp.codcliente  = colname
y la sql de la dias de retraso
Código HTML:
Ver original
  1. SELECT DATEDIFF(CURDATE(),factulineatmp.fecha_devolucion) AS dias_espera
  2. FROM factulineatmp
  3. WHERE factulineatmp.codcliente  = colname
  #11 (permalink)  
Antiguo 14/09/2010, 10:10
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: como calcular los dias de retraso

creo q ya la he podido integrar
Código HTML:
Ver original
  1. SELECT DATEDIFF(CURDATE(),factulineatmp.fecha_devolucion) AS dias_espera, factulineatmp.codarticulo,  peliculas.titulo,factulineatmp.fecha_devolucion, factulineatmp.fecha
  2. FROM factulineatmp inner join peliculas
  3. WHERE factulineatmp.codarticulo=peliculas.codigo    AND factulineatmp.codcliente  = colname


gracias por la colaboracion XD (Y)

Etiquetas: dias, calculadora
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:35.