Foros del Web » Programando para Internet » PHP »

búsqueda de fecha y conversión de string a date

Estas en el tema de búsqueda de fecha y conversión de string a date en el foro de PHP en Foros del Web. hola! Tengo un problema con una búsqueda de fechas. En este formulario Código HTML: <form action= "busqueda.php" method= "post" > <input id='dt' name='dt' type= "text" ...
  #1 (permalink)  
Antiguo 02/08/2012, 20:40
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
búsqueda de fecha y conversión de string a date

hola!
Tengo un problema con una búsqueda de fechas.

En este formulario

Código HTML:
<form action="busqueda.php" method="post">
    <input id='dt' name='dt' type="text" /><br />
    <input value="buscar" name=""  type="button" />
</form> 
ingreso una fecha del tipo 02-08-2012 (también probé con 2012-08-02)

y dentro de busqueda.php

Código PHP:
if(isset($_POST['dt'])){
        // convierto la fecha de texto a date que es como está el formato en la tabla
        $dob1=trim($_POST['dt']);
    list($d, $m, $y) = explode('-', $dob1);
    $mk=mktime(0, 0, 0, $m, $d, $y);
    $dob_disp1=strftime('%Y-%m-%d',$mk);
    
        $sql="SELECT * FROM `noticias` WHERE `fecha`=$dob_disp1";
} else {
    die('error'); 
}
$noticias = $rs->get_object($sql);

//muestro los resultados

 <?php foreach($noticias as $not){  
      
          
$originalDate $not->fecha;                
    
$newDate date("d-m-Y"strtotime($originalDate));
    echo 
$newDate;
        echo 
$not->titulo;
        echo 
$not->descripcion;
 }
 
?>
pero como resultado muestra la fecha 01-01-1970 cualquiera sea el ejemplo que ingrese en la búsqueda y solo muestra la fecha el resto de los datos no los muestra, es decir que no está encontrando nada.

Espero me puedan dar una mano, desde ya gracias!
__________________
Saludos!!!
Maru.-
  #2 (permalink)  
Antiguo 03/08/2012, 01:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: búsqueda de fecha y conversión de string a date

Lo primero que tendrias que hacer es validar la fecha, incluso en el lado cliente.... pero si llega una fecha valida luego no te compliques

Código PHP:
Ver original
  1. list($d, $m, $y) = explode('-', $dob1);
  2. $dob_disp1=$y."-".$m."-".$d;
  3.    
  4.         $sql="SELECT * FROM `noticias` WHERE `fecha`='".$dob_disp1."'";

Recuerda el formato y los delimitadores para los campos DATE y DATETIME

'YYYY-mm-dd' o 'YYYY-mm-dd HH:MM:SS'

no es valido 'YY-m-d' u otras variantes

WHERE `fecha`='".$dob_disp1."'";

Para construir la query necesitas un string bien formateado aun que el campo sea DATE. Genralmente cuando aparece 01-01-1970 es que no esta entrando una fecha valida.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: date, fecha, formulario, sql, string, 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 02:38.