Foros del Web » Programando para Internet » PHP »

trabaajar con fechas

Estas en el tema de trabaajar con fechas en el foro de PHP en Foros del Web. hola amigos tengo una duda como puedo hacer que me compare dos fechas en formato y-m-d y que si la fecha 2 es mayor que ...
  #1 (permalink)  
Antiguo 11/03/2011, 09:34
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
trabaajar con fechas

hola amigos tengo una duda como puedo hacer que me compare dos fechas en formato y-m-d y que si la fecha 2 es mayor que la fecha1 este me haga una update al registro que se esta comparando.

no se si me entienda pero la idea es q 1 se compare la fecha 2011-03-11 y si la fecha es mayor a fecha2 2011-03-10 entonces al registro le cambie el campo estado a "articulo ya vencido" espero me colaboren muchas gracias
__________________
sitios
www.avisoya.com
www.yavendi.com
  #2 (permalink)  
Antiguo 11/03/2011, 09:40
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: trabaajar con fechas

Te voy a pasar este codigo... organizalo a tu gusto.

Código PHP:
<?php
$fecha_actual 
strtotime(date("Y-m-d",time()));  
$fecha_entrada strtotime("19-11-2008");  
if(
$fecha_actual $fecha_entrada){  
    echo 
"La fecha entrada ya ha pasado";  
}else{  
    echo 
"Aun falta algun tiempo";  
}
?>
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 11/03/2011, 09:44
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: trabaajar con fechas

uuy gracias jotaincubus voy a trabajarlo.
de todos modos sigo escuchando propuestas jeeje
gracias


entonces el update lo hago en el echo "La fecha entrada ya ha pasado"; ???
__________________
sitios
www.avisoya.com
www.yavendi.com
  #4 (permalink)  
Antiguo 11/03/2011, 09:51
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: trabaajar con fechas

exacto le quitas el echo y le pones un "UPDATE table SET ... bla bla bla"
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 11/03/2011, 09:53
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: trabaajar con fechas

si vas a comparar fechas asegurate que esten en formato Y-m-d o Y-m-d H:i:s
  #6 (permalink)  
Antiguo 11/03/2011, 09:53
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: trabaajar con fechas

Si lo que buscas es algo mas completo como una funcion aqui esta una que encontre en google:

Código PHP:
function compararFechas($primera$segunda)  
 {  
  
$valoresPrimera explode ("/"$primera);     
  
$valoresSegunda explode ("/"$segunda);   
  
$diaPrimera    $valoresPrimera[0];    
  
$mesPrimera  $valoresPrimera[1];    
  
$anyoPrimera   $valoresPrimera[2];   
  
$diaSegunda   $valoresSegunda[0];    
  
$mesSegunda $valoresSegunda[1];    
  
$anyoSegunda  $valoresSegunda[2];  
  
$diasPrimeraJuliano gregoriantojd($mesPrimera$diaPrimera$anyoPrimera);    
  
$diasSegundaJuliano gregoriantojd($mesSegunda$diaSegunda$anyoSegunda);       
  if(!
checkdate($mesPrimera$diaPrimera$anyoPrimera)){  
    
// "La fecha ".$primera." no es válida";  
    
return 0;  
  }elseif(!
checkdate($mesSegunda$diaSegunda$anyoSegunda)){  
    
// "La fecha ".$segunda." no es válida";  
    
return 0;  
  }else{  
    return  
$diasPrimeraJuliano $diasSegundaJuliano;  
  }   
}  
$primera "29/02/2000";  
$segunda "31/01/2000";  
echo 
compararFechas ($primera,$segunda); 
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #7 (permalink)  
Antiguo 11/03/2011, 09:59
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: trabaajar con fechas

uy bien muy buena la colaboracion de ustedes pero creo q me sirve con la primera gracias sigo trabajando y cualquier duda comento me gusta saber q en colombia hay mucha gente dura en el tema eso da moral jejeje
__________________
sitios
www.avisoya.com
www.yavendi.com
  #8 (permalink)  
Antiguo 11/03/2011, 11:31
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: trabaajar con fechas

hola amigo ya tengo la comparacion funcionando ahora voy en el update como puedo hacer para que cuando el estado de mi articulo cambie a vencido? yo tengo esto pero no me da

"UPDATE anuncios SET estado=vencido WHERE bla bla "
__________________
sitios
www.avisoya.com
www.yavendi.com
  #9 (permalink)  
Antiguo 11/03/2011, 12:28
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: trabaajar con fechas

O.o no es así, eso era un simple ejemplo... para hacer un update debes primero conectarte a la base de datos y de hay hacer el UPDATE... mira

Código PHP:
$conectar mysql_connect("localhost""user""contrasena"); //cambia los datos de tu servidor y base de datos
mysql_select_db("miBaseDatos"$conectar); // coloca el nombre de la base de datos

$modificar "UPDATE anuncios SET estado = 'vencido' WHERE campoFecha < CURDATE();";
$ejecutar mysql_query($modificar$conectar); 
Te cuento que esto hará la modificación automáticamente sin ningún IF o CONDICIONAL hecho en PHP... simplemente lo corres y esto revisara toda la tabla y donde encuentre campos menores a la fecha de hoy los pasara a vencido.

Si lo quieres hacer con un IF (condicional) hecho en PHP para solo modificar uno de los registros deberas hacer un SELECT y buscar el ID que necesitas y pasárselo al UPDATE en la clausula WHERE.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Última edición por jotaincubus; 11/03/2011 a las 12:29 Razón: corrección en codigo
  #10 (permalink)  
Antiguo 12/03/2011, 15:56
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: trabaajar con fechas

aaaaa ok listo ya quedo el update
oye yo después del update yo le puedo hacer un envio al usuario informandole que su articulo se ha vencido. ??
gracias estoy atento
__________________
sitios
www.avisoya.com
www.yavendi.com
  #11 (permalink)  
Antiguo 14/03/2011, 10:12
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: trabaajar con fechas

Si, despues de que le haces el UPDATE usas la función MAIL de PHP para enviarle un email y decirle que el articulo ya esta vencido.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #12 (permalink)  
Antiguo 14/03/2011, 13:22
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: trabaajar con fechas

ammm oye pero tengo una duda ps segun veo para que se active esto se debe entrar al articulo como tal si digamos se vence el articulo pero no se ha entrado a el este no se va a cambiar el estado hasta que alguien entre en el ?? cierto? y no se le va enviar un email al dueño del articulo :( como podria hacerlo de tal manera que apenas se vence esta cambie el estado y avise ?

gracias
__________________
sitios
www.avisoya.com
www.yavendi.com
  #13 (permalink)  
Antiguo 14/03/2011, 14:45
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: trabaajar con fechas

Eso solo lo puedes hacer de dos formas....

1. Verificando uno por uno vos mismo... tediosamente.

2. una tarea programada que haga el trabajo por vos, la mas fácil.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #14 (permalink)  
Antiguo 14/03/2011, 15:01
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: trabaajar con fechas

y como seria

2. una tarea programada que haga el trabajo por vos, la mas fácil.
??
gracias por la ayuda
__________________
sitios
www.avisoya.com
www.yavendi.com
  #15 (permalink)  
Antiguo 14/03/2011, 15:24
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: trabaajar con fechas

Bueno eso depende de tu sistema operativo

Win XP

GNU Linux Red Hat

Y así sucesivamente.

Entonces creas una pagina que haga el update y por ahí derecho le mande el mail al usuario... y la programas para que se abra todos los días a media noche x)

Suerte
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #16 (permalink)  
Antiguo 14/03/2011, 16:54
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
como puedo hacer esto mm

hola amigos tengo una sistema para publicar articulos en donde el usuario los registrar con sus detalles y este al publicarse le da una fecha de vencimiento de 3mes a partir de la de la publicación y cuando este llegue a la fecha me hada un update en donde me cambie el estado de activo a vencido o que se halla vendido hay todo bien pero como hago para que si se ha vencido o vendido este pase un periodo de 5 o 10 dias espera por si el cliente quiere republicar o si no este pasado estos dias se elimine de la bd.

espero me entiendan y colaboren muchas gracias estare atento.
__________________
sitios
www.avisoya.com
www.yavendi.com
  #17 (permalink)  
Antiguo 14/03/2011, 17:04
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: como puedo hacer esto mm

pues me imagino que al vencerseo venderse haces un update, entonces podrias activar un segundo valor que te indique la fecha de vencimiento o venta, de ahi lo mismo al pasar ese tiempo si no se cambia ese segundo valor en 10 dias, lo borras.
  #18 (permalink)  
Antiguo 14/03/2011, 17:30
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: como puedo hacer esto mm

Facil un stored procedure y te quitas de problemas y avientas un cron
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #19 (permalink)  
Antiguo 14/03/2011, 17:34
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: como puedo hacer esto mm

pues lo del cron es casi de cajon, pero que no el sored procedure es solo para POO?

disculpenme si estoy en un error.
  #20 (permalink)  
Antiguo 14/03/2011, 17:52
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: como puedo hacer esto mm

memoadian
y como seria tu opcion
deberia tener un campo en bd q capture la fecha de venta o vencimiento del articulo y de hay hacer la suma de la fecha con los dias q se quiera dejar como espera y cuando llege ese dia se elimine el registro la bd???

es asi? o q esta mal
gracias
__________________
sitios
www.avisoya.com
www.yavendi.com
  #21 (permalink)  
Antiguo 14/03/2011, 17:56
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: como puedo hacer esto mm

pues si esa es la idea exactamente. no se que te parezca.
  #22 (permalink)  
Antiguo 14/03/2011, 18:01
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: como puedo hacer esto mm

yo te recomendaría que no lo borres de la base de datos, solo ocultalo al pasar ese tiempo con un valor boleano donde si ya esta vendido sea 0, si no pues que siga siendo uno que sería un valor por defecto cuando creas el registro. A lo que quiero llegar es que quizas despues te sirva esa información ya que tiene que ver con negocios.
  #23 (permalink)  
Antiguo 14/03/2011, 18:08
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: como puedo hacer esto mm

gmurop osea que tu me recomiendas no borrarlo y entonces como lo ocultarlo con el valor boleano si entiendo bien 0 seria falso y 1 verdadero? pero como haría para q mostrara o ocultara el dato en la SQL?
__________________
sitios
www.avisoya.com
www.yavendi.com
  #24 (permalink)  
Antiguo 14/03/2011, 19:19
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: como puedo hacer esto mm

Con ocultarlo me refiero a que no lo muestres en tu página y esto mas bien con un IF en php.

Por ejemplo que la estructura de tu tabla articulo sea la siguiente:

ARTICULO(id INT(2) AUTO_INCREMENT,nombre VARCHAR(50),vendido TINYINT(1) DEFAULT '1');

VENDIDO = 0;
NO VENDIDO = 1;

En tu página que tengas una seccion que se llame articulos, entonces vas a hacer una consulta como esta para mostarlos:

SELECT * FROM articulo WHERE vendido=0;

De esta manera le dices que solo te muestre los articulos que no estan vendidos. Solo recuerda que a la hora que se realice la venta, cambiar con un UPDATE el valor de 0 a 1.
  #25 (permalink)  
Antiguo 14/03/2011, 20:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: trabaajar con fechas

Temas unidos por favor NO dupliques temas.
  #26 (permalink)  
Antiguo 15/03/2011, 23:10
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
como caducar pagina por tipo

hola amigo tengo un bd donde registros mis articulos y lo quiero es q cuando este y llege a su tiempo x este cambie el estado y cambie a cadudo esto ya lo hace lo quiero es me colaboren explicando como puedo hacer para cuando es estado sea caducado este me inhabilite los comentario y datos del articulo o q genere una imagen gris o mediotransparente donde se sepa esta caducado

espero me entiendan y colaboren muchas gracias
__________________
sitios
www.avisoya.com
www.yavendi.com
  #27 (permalink)  
Antiguo 16/03/2011, 07:47
Avatar de ArkangelGammar  
Fecha de Ingreso: enero-2011
Ubicación: <?php $persona->ubicacion('ArkangelGammar'); ?>
Mensajes: 179
Antigüedad: 13 años, 3 meses
Puntos: 19
Respuesta: como caducar pagina por tipo

Agrega un campo a la BD, que indique si ha caducado o no, en caso de que este caducado lo que tenes que hacer es desde la web (con estilos y otras yerbas) realizar la modificacion que vos queres.

Solamente eso.

Espero haber ayudado.

Saludos
__________________
"No entiendes algo al menos que seas capaz de explicarselo a tu abuela.
Cada dia sabemos mas....y entendemos menos...."

A. Einstein - Genio mas alla de la razon.
  #28 (permalink)  
Antiguo 16/03/2011, 09:43
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: como caducar pagina por tipo

y q tipo de yerbas? debo utilizar pos ya tengo el campo en la bd q se llama estado y este cambia si esta cadudo o vendido
__________________
sitios
www.avisoya.com
www.yavendi.com

Etiquetas: caducar, fechas, tipo
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 02:41.