Foros del Web » Programando para Internet » PHP »

Fechas en PHP

Estas en el tema de Fechas en PHP en el foro de PHP en Foros del Web. Que tal amigos, lo que necesito saber es si puedo hacer una funcion en PHP o existe uan funcion en mysql para que una fecha ...
  #1 (permalink)  
Antiguo 18/03/2008, 10:49
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Fechas en PHP

Que tal amigos, lo que necesito saber es si puedo hacer una funcion en PHP o existe uan funcion en mysql para que una fecha ingresada a la base de datos, no se vuelva a ingresar en un tiempo determinado ejemplo fecha='2008-18-03'; si ingreso la fecha ='2009-18-03' , me salga un mensaje "NO SE PUEDE INGRESAR ESTA FECHA EXPIRA EN '2011-18-03'"

estare atento para cualquier respuesta positiva

Mil gracias por la colaboracion
  #2 (permalink)  
Antiguo 18/03/2008, 10:55
Avatar de RoggerElfo  
Fecha de Ingreso: enero-2008
Ubicación: En la ciudad de los Reyes LIMA !
Mensajes: 121
Antigüedad: 16 años, 3 meses
Puntos: 2
Re: Fechas en PHP

o_O

fecha='2008-18-03'

no es '2008-03-18' ??


tendrias que hacer un calculo de fechas .. prueba pasando todo a segundos


Código PHP:
$FECHA=$año."-".$mes."-".$dia" " $hora ":" $minutos;
            
$FECHAH $añoh."-".$mesh."-".$diah" " $horah ":" $minutosh;
            
            
$hora1 strtotime($FECHA);
            
$hora2 strtotime($FECHAH); 
  #3 (permalink)  
Antiguo 18/03/2008, 11:09
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Fechas en PHP

amigo Rogerelfo gracias por la pronta respuesta, lo que necesito en sintesis es:

1.ingreso una fecha ejemplo: fecha='2008-03-18'.
2. esta fecha debe de tener algun contador para que me expire en '2011-03-18'.
3. Si yo deseo ingresar otra fecha ejemplo: fecha ='2009-03-08' me salag un mensaje "NO SE PUEDE INGRESAR ESTA FECHA YA QUE LA 2008-03-18 ESTA VIGENTE AUN" .

no se si me entiendas pero a la fecha ingresada hay que sumarle creo yo la fecha limite donde expira .

gracias Rogeelfo estare atento a una respuesat positiva.
  #4 (permalink)  
Antiguo 18/03/2008, 11:40
Avatar de RoggerElfo  
Fecha de Ingreso: enero-2008
Ubicación: En la ciudad de los Reyes LIMA !
Mensajes: 121
Antigüedad: 16 años, 3 meses
Puntos: 2
Re: Fechas en PHP

ya mira prueba con algo asi ....

Código PHP:
$mes 03;
$dia 18;
$año 2008;

$mesex 03;
$diaex 18;
$añoex 2011
los que terminan con EX son tu fecha de expiracion

Código PHP:
$timestamp1 mktime(0,0,0,$mes,$dia,$año); 
$timestamp2 mktime(0,0,0,$mesex,$diaex,$añoex); 

$segundos_diferencia $timestamp2 $timestamp1

$dias_diferencia1 $segundos_diferencia / (60 60 24); 
echo(
$dias_diferencia1); 
lo que hago aca es pasar tus fechas a segundos y con esto [$dias_diferencia1 = $segundos_diferencia / (60 * 60 * 24); ] paso los segundos a dias .. (hago lo mismo con las 2 fechas)

ahora cuando tu ingreses una nueva fecha ....

Código PHP:
// esta es la nueva fecha
$mesex 03;
$diaex 18;
$añoex 2014;

$timestamp1 mktime(0,0,0,$mes,$dia,$año); 
$timestamp2 mktime(0,0,0,$mesex,$diaex,$añoex); 

$segundos_diferencia $timestamp2 $timestamp1;
$dias_diferencia2 $segundos_diferencia / (60 60 24); 
echo(
$dias_diferencia2);

if(
$dias_diferencia2 <= $dias_diferencia1)
{
 echo(
"NO SE PUEDE INGRESAR ESTA FECHA PORQUE LA ANTERIOR ESTA VIGENTE");

debe funcionar .... intenta cambiando el valor de $añoex = 2014 por uno mayor o uno menor al RANGO de alos que pusiste



Nota:
En mi pais ( Peru ) Colocamos las fechas dd/mm/aaaa
pero para ingresarlas a la base de datos colocamos aaaa/mm/dd ( formato gringo )
  #5 (permalink)  
Antiguo 18/03/2008, 13:08
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: Fechas en PHP

Cita:
Iniciado por RoggerElfo Ver Mensaje
ya mira prueba con algo asi ....

Código PHP:
$mes 03;
$dia 18;
$año 2008;

$mesex 03;
$diaex 18;
$añoex 2011
los que terminan con EX son tu fecha de expiracion

Código PHP:
$timestamp1 mktime(0,0,0,$mes,$dia,$año); 
$timestamp2 mktime(0,0,0,$mesex,$diaex,$añoex); 

$segundos_diferencia $timestamp2 $timestamp1

$dias_diferencia1 $segundos_diferencia / (60 60 24); 
echo(
$dias_diferencia1); 
lo que hago aca es pasar tus fechas a segundos y con esto [$dias_diferencia1 = $segundos_diferencia / (60 * 60 * 24); ] paso los segundos a dias .. (hago lo mismo con las 2 fechas)

ahora cuando tu ingreses una nueva fecha ....

Código PHP:
// esta es la nueva fecha
$mesex 03;
$diaex 18;
$añoex 2014;

$timestamp1 mktime(0,0,0,$mes,$dia,$año); 
$timestamp2 mktime(0,0,0,$mesex,$diaex,$añoex); 

$segundos_diferencia $timestamp2 $timestamp1;
$dias_diferencia2 $segundos_diferencia / (60 60 24); 
echo(
$dias_diferencia2);

if(
$dias_diferencia2 <= $dias_diferencia1)
{
 echo(
"NO SE PUEDE INGRESAR ESTA FECHA PORQUE LA ANTERIOR ESTA VIGENTE");

debe funcionar .... intenta cambiando el valor de $añoex = 2014 por uno mayor o uno menor al RANGO de alos que pusiste



Nota:
En mi pais ( Peru ) Colocamos las fechas dd/mm/aaaa
pero para ingresarlas a la base de datos colocamos aaaa/mm/dd ( formato gringo )
bueno estoy completamente deacuerdo contigo.. pero enrealidad no vi todos los post asi que asumo que lo estan trabajando con base de datos.. de tal manera que puedan extraer las fechas desde haya pero mucha gente no sabe que se pueden hacer cualquier tipo de comparaciones en un SQL query.. solo deben investigar al respecto. puesto que MySQL tiene funciones BuildIn para trabajar con fechas , Numeros etc. saludos espero que esta informacion extra y la corroboracion les haya servido de confirmacion exitos!!
  #6 (permalink)  
Antiguo 18/03/2008, 13:40
Avatar de RoggerElfo  
Fecha de Ingreso: enero-2008
Ubicación: En la ciudad de los Reyes LIMA !
Mensajes: 121
Antigüedad: 16 años, 3 meses
Puntos: 2
Re: Fechas en PHP

bueno me imagino tambien que se podra hacer con mysql ... esto de comparar fechas.. validar rangos de fechas validos, etc etc ....

lo malo es que no se mucho mysql ... claro, lo que comunmente hace la gente es insert, update, delete, procedures ( bueno eso es lo que hago yo XD ! ) gracias de todas maneras
  #7 (permalink)  
Antiguo 18/03/2008, 14:26
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Fechas en PHP

Amigos , aqui pongo parte del codigo que estoy utilizando

Código PHP:
do
 {    
     $id_NUM=$_POST['id_NUM'];
     $fecha=$_POST['fecha'];
     $descripcion=$_POST['descripcion'];
      
    function cambiafechamysqlini($fecha)
      {
       ereg( "(([0-9]{1,2})-[0-9]{1,2})-([0-9]{2,4})",$fecha,$mifechauno);
       $fechactual=$mifechauno[3]."-".$mifechauno[1]."-".$mifechauno[2];
       //-----------ANO-----------------DIA----------------MES//
       return $fechactual;
       } 
       $fechabien=cambiafechamysqlini($fecha);
          
              
         require_once('Connections/link.php'); 
         mysql_select_db($name_database,$link);
     $resSQL=mysql_query("SELECT * FROM  tabla WHERE (id_NUM='$id_NUM' AND fecha='".$fechabien."')", $link);
     $idandfech_existe=mysql_affected_rows(); 
          if($idandfech_existe)
                {
          ?>
                 <script languaje="javascript"  type="text/javascript"> alert("El Numero Y la fecha  ya estan Ingresados");location=('formulario.htm.php');</script>    
         <?php 
                
}

               if(
mysql_num_rows($resSQL))
                 {
                  
$sql=mysql_query("SELECT fecha FROM tabla WHERE fecha='$fecha', $link);
                  //aqui comparo la fecha que fue enviada, si no expira me inserta la nueva fecha///               
                  //mensaje en java script la fecha no se puede ingresar , AUN esta vigente/// 
                  }else
                if($id_NUM && $fechabien &&  $descripcion)
                 {            
                 $insertSQL="
INSERT INTO tabla (id_NUMfechadescripcion VALUES ('$id_NUM''".$fechabien."''$descripcion')";
                                    
                 mysql_query($insertSQL,$link);
                ?>
                 <script language="
JavaScript" type="text/javascript"> alert(" ¡ Los datos  se han Ingresado Correctamente !"); location=("index.htm"); </script>
                  <?php 
                //fin si ingreso ingresa 
                 }else 
                   {
                    ?>                  
  <script language="
JavaScript" type="text/javascript"> alert(" ¡ Los datos  NO SE  se han Ingresado CorrectamenteFaltan Datos Por Ingresar"); location=("formulario.htm"); </script>
                 <?php 
                    }
                  ?>  
<?php                
       }while($ter !=exit())
      ?>
      <script language="
JavaScript" type="text/javascript"> alert(" ¡ DESEA INGRESAR MAS DATOS !"); location=("fomulario.htm"); </script>

      <?php
Necesito lo sigueinte .

cada vez que ingrese uan fecha desed el formulario esta se compare si ya esta, con el numero del poducto, sino esta compare si esta vigente , y sino me la ingresa a la base de datos.

Estaba pensando en hacer sumarle a la fecha que ingrese un numero de años
ejemplo
$fecha=$fecha + años, que cade vez que yo ingrese la fecha se incremente hasta un periodo determinado y si ingreso otra nueva fecha el proximo año me salga que aun esta vigente NOSE PUIDE INGRSAR falata echo $fecha;

Mas o menos seria asi

estare pendiente a sus respuestas positivas.

mIl grecie
  #8 (permalink)  
Antiguo 18/03/2008, 15:21
Avatar de RoggerElfo  
Fecha de Ingreso: enero-2008
Ubicación: En la ciudad de los Reyes LIMA !
Mensajes: 121
Antigüedad: 16 años, 3 meses
Puntos: 2
Re: Fechas en PHP

ala no entiendo nada de lo que me has pasado .... has obiado partes importantes del codigo... tambien faltan algunas comillas ("")
  #9 (permalink)  
Antiguo 18/03/2008, 15:32
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Fechas en PHP

Amigo RoggerElfo

vamos por partes.

1. Ingreso una fecha y un id_NUM a la base de datos ejemplo:fecha 01/05/2008, id_NUM=12;
2. Esta fecha que ingrese se debe de expirar en el año 01/05/2011.
3.si yo quiero ingresar una fecha y un id_NUM asi, ejemplo : 01/05/2009 id_NUM=12; me salga el aviso " NO SE PUEDE INGRESAR LA FECHA POR QUE AUN ESAT VIGENTE "
las comparaciones ya se como hacerlas, lo unico que me hace falta es sumarle a la fecha que ingreso los años y que me devuelva el mensaje si al ingersar otra fecha < que la fecha que expire .


Estare de verdad atento aunque estoy leyendo pero no encuentro la respuesta .

Suerte Bacan
  #10 (permalink)  
Antiguo 18/03/2008, 15:46
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Fechas en PHP

Amigo Rogger Elfo

Mira esta funcion creo que es asi

a la fecha que ingreso le sumo el numero de años


SELECT DATE_ADD(fecha, INTERVAL 3 YEAR) as 'nueva_fecha' FROM tablename


Ahora el problema es:
Còmo hago que no me deje ingresar una fecha y un ID_NUM hasta que la fecha
antes de que expire la otra?
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 23:41.