Foros del Web » Programando para Internet » PHP »

Buscar fecha por rango

Estas en el tema de Buscar fecha por rango en el foro de PHP en Foros del Web. hola amigos tengo la siguiente duda necesito buscar en una tabla por rango de fechas, tengo dividida la fecha en 3 campos: dia(INT)2 - mes(INT)2 ...
  #1 (permalink)  
Antiguo 05/12/2010, 13:54
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Buscar fecha por rango

hola amigos tengo la siguiente duda necesito buscar en una tabla por rango de fechas, tengo dividida la fecha en 3 campos: dia(INT)2 - mes(INT)2 y año(INT)4, en el formulario tengo 2 cajas de texto 1 para la fecha 1 y otra para la fecha 2 los cuales tienen su propio calendario al momento de enviar los datos asia otra pagina que se llama consulta.php yo descompongo la fecha uno y fecha dos osea los divido en dias,mes y años de la siguiente forma:

Código PHP:

$fecha
=$_POST['fecha'];
$fecha2=$_POST['fecha2'];
//separo la fecha para realizar consulta
list($mes,$dia,$ano) = explode("/",$fecha);
list(
$mes2,$dia2,$ano2) = explode("/",$fecha2);

//elimino ceros ala izquierda del dia 1
$cadena=$dia;
$cadena=(string)(int)$cadena;

//elimino ceros ala izquierda del dia 2
$cadena3=$dia2;
 
$cadena3=(string)(int)$cadena3;
//fin de ceros 
elimino ceros ala quierda del dia por que en mi tabla tengo el dia lo tengo con los numeros enteros ok ahora quiza ustedes me digan que no es optimo lo que estoy asiendo el separar la fecha en tres partes lo que pasa es que yo manejo una agenda que esta echo con php(poo),jquery,ajax lo baje ya prediseñada y pues esta programada orientada a objetos y yo en eso aun no le entiendo al todo y se me iso mas facil separar las fechas para asi hacer mis respectivas operaciones una de eyas es esto lo que quiero hacer una consulta ejemplo
quiero mostrar los registros que se ayan dado de alta del dia
13/12/2010 al 2/02/2011
esta consulta me muestra los registros que se encuentren en el rango de estas dos fechas yo lo estaba asiendo asi de la siguiente forma mi consulta era esta

Código PHP:

conectar
();
$reporte=mysql_query("select * FROM reporte  where dia>=$cadena and dia<=$cadena3 ");
desconectar(); 
con eso yo asia el reporte por dia, pero como pueden ver en el ejemplo que les plantie entrarian tambien los años y los meses como le podria hacer??
  #2 (permalink)  
Antiguo 05/12/2010, 14:20
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

porque no trabajas las fechas en la base de datos como tipo date y haces una consulta BETWEEN?? te evitarias los dolores de cabezas que te estas dando pienso yo saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 05/12/2010, 15:14
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

Cita:
Iniciado por carlos_belisario Ver Mensaje
porque no trabajas las fechas en la base de datos como tipo date y haces una consulta [URL="http://sql.1keydata.com/es/sql-between.php"]BETWEEN[/URL]?? te evitarias los dolores de cabezas que te estas dando pienso yo saludos
lo que pasa como comento arriva la fecha lo jalo de una agenda que esta echa con poo y yo no le entiendo muy bien, entonces para no complicarme guardo la fecha aparte y la divido en dia mes y año entonces si yo guardar la fecha tal y como se guarda la agenda quedaria asi
Código HTML:
12/5/2010 08:30
si ves la fecha que extraigo de la agenda se viene con todo y hora y yo para quitarle la hora mejor los divido en mes ,dia y año y asi se guarda sin la hora o hay al guna forma de quitarle la hora? a la fecha?
  #4 (permalink)  
Antiguo 05/12/2010, 17:04
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

pues separa la fecha de la hora con explode como lo estabas haciendo y para comparar la fecha podrias usar la funcion de mysql date_format donde le dices el formato en que estas consultando tu fecha ojo en la base de datos queda el campo lleno de la manera que corresponde año-mes-dia pero con esta funcion en tus sentencias puedes darle el que desees saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 05/12/2010, 17:18
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

ya lo separe la hora de la fecha ahora en mi tabla ya tengo un campo con una fecha de la forma siguiente
bueno tengo 2 fechas la primera es
12/1/2010
y la segunda es
1/18/2011
como puedo hacer para que me muestre los registros que se ayan dado de alta entre esas dos fechas?
  #6 (permalink)  
Antiguo 05/12/2010, 17:23
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

con una consulta between ejemplo
Código MySQL:
Ver original
  1. FROM tabla
  2. SELECT * FROM prueba WHERE date_format(fecha1,'%d/%m/%Y') BETWEEN '01/02/2010' AND '28/02/2010'
asi seria por el formato de fecha que colocaste pero si puedes hacer que el formato de fecha que recibes sea igual al de la base de datos seria mucho mejor saludos

edito:
tambien debes detener en cuenta los formatos ya que si deseas que sea 1/2/2010 por ejemplo seria con %D y si deseas que sea 01 debe de ser %d al igual que con el mes saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 05/12/2010, 17:48
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

hola mira lo estoy asiendo asi
Código PHP:
$reporte=mysql_query("select * FROM reporte  WHERE DATE_FORMAT(fecha,'%m/%d/%Y') BETWEEN '12/1/2010' AND '1/18/2011' "); 
le estoy poniendo una de las fechas que tengo en mi tabla reportes pero aun asi no me aroja resultados
en esta parte tu tenias fecha1 me imagino que es el nombre del campo que almacena la fecha en la tabla no? yo se lo cambie a fecha por que asi se llama el campo que almacena mi fecha en la tabla reporte
Código PHP:
ATE_FORMAT(fecha1,'%m/%d/%Y'
que estoy asiendo mal
  #8 (permalink)  
Antiguo 05/12/2010, 18:02
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

pues fijate lo que te dije al momento en que edite
cuando es dia en el formato conde no te coloca el 0 del 1-9 debes usar la D mayuscula al igual con la M mayuscula para los meses pruebalo de esa manera y nos cuentas a ver si asi si te funciono
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 05/12/2010, 18:09
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

no me funciono deje mi consulta de esta manera se supone que asi me deberia de mostrar los que esten registrados entre esas dos fechas y no me muestra nada
Código PHP:
conectar();
$reporte=mysql_query("select * FROM reporte  WHERE DATE_FORMAT(fecha,'%M/%D/%Y') BETWEEN '12/1/2010' AND '1/18/2011' ");

desconectar(); 
  #10 (permalink)  
Antiguo 05/12/2010, 18:16
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

mm interesante vamos a ver que puede estar pasando xq a mi me lo realiza correctamente, has un print_r de la variable donde recibes los datos a ver que resultado te da
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 05/12/2010, 18:26
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

mira mi codigo completo en donde ago la consulta es el siguiente
Código PHP:
<?php  
include("conexion.php"); 
session_start();
$fecha=$_POST['fecha'];
$fecha2=$_POST['fecha2'];
//separo la fecha para realizar consulta
list($mes,$dia,$ano) = explode("/",$fecha);
list(
$mes2,$dia2,$ano2) = explode("/",$fecha2);

//elimino ceros ala izquierda al ddia1
 
$cadena=$dia;
 
$cadena=(string)(int)$cadena;
//elimino ceros ala izquierda al mes1
 
$cadename=$mes;
 
$cadename=(string)(int)$cadename;

//elimino ceros ala izquierda al ddia2
 
$cadena3=$dia2;
 
$cadena3=(string)(int)$cadena3;
 
//elimino ceros ala izquierda al mes2
 
$cadename2=$mes2;
 
$cadename2=(string)(int)$cadename2;
//fin de ceros

//vuelvo a construir la fecha
 
$ini=$cadename."/".$cadena."/".$ano;
 
$fin=$cadename2."/".$cadena3."/".$ano2;

$_SESSION['cad']=$cadena3;
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>




<style type="text/css">
<!--
@import url("tablas/style.css");
-->
body{/* este codigo sirve para  dar el tipo de letra ala otra pagina  */

font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
font-size:12px;
background:url(imagenes/snozfk.jpg.png);
background-repeat:no-repeat;
background-position:center;


}

.Estilo2 {color: #039}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>.::  Reporte | Semanal::.</title>
</head>

<body>
<table width="760" border="0" align="center"  background="imagenes/front-bg.gif">
  <tr>
    <td ><div align="center"><strong>REPORTE DE PACIENTES QUE ASISTIERON A CONSULTA</strong></div></td>
  </tr>
</table>
<table width="760" border="0" align="center">
  <tr>
    <td><div align="right"><a href='gersemana3.php?id2=<?php echo $cadena?>' target='_blank' class='demo'><img src="imagenes/pdf.jpg" width="21" height="24" border="0" /></a><img src="imagenes/imprimir.jpg" width="25" height="23" onClick="window.print();"/></div></td>
  </tr>
</table>
<table width="980" id="newspaper-c" summary="Personal Movie Rating" >
  <thead>
        <tr>
            <th scope="col">Num</th>
            <th scope="col">Nombre</th>
            <th scope="col">ficha</th>
            <th scope="col">sesiones</th>
            <th scope="col">org</th>
            <th scope="col">clasif</th>
            <th scope="col">oms</th>
            <th scope="col">descripcion</th>
            <th scope="col">serv. que envia</th>
        </tr>
  </thead>
    <tbody>
    
    <?php 
    


conectar
();
$reporte=mysql_query("select * FROM reporte  WHERE DATE_FORMAT(fecha,'%M/%D/%Y') BETWEEN '12/1/2010' and '1/18/2011' ");desconectar();
$contador=1;

$activos=1;     //defino aqui la variable activos para que se incremente en la parte de abajo
    
$jubilados=1//defino aqui la variable jubilados para que se incremente en la parte de abajo
        
$familiares=1//defino aqui la variable familiares para que se incremente en la parte de abajo
           
$organismo=1;
           
$organismo2=1;
           
$organismo3=1;
            
$organismo4=1;
            
$organismo5=1;
            
$organismo6=1;
if (
mysql_num_rows($reporte)>0)
{
while (
$row=mysql_fetch_array($reporte))
{
      
$totalp=$totalp+$row[8];//lo oucpo para sumar las seciones

//genero variables de session  para ocuparalas en el pdf
$_SESSION['yea']=$row[5];
$_SESSION['mes']=$row[4];



//saco datos personales
conectar();
$queEmp1 mysql_query("SELECT derc_nombre,derc_appaterno,derc_apmaterno,orgs_clave,derc_regcontrac   FROM hos_derechohab  where derc_ficha ='$row[1]' and derc_codigo='$row[2]' ");
$rowEmp1 mysql_fetch_assoc($queEmp1);
$nom$rowEmp1['derc_nombre']; //saco los datos del paciente
$pat$rowEmp1['derc_appaterno']; 
$mat$rowEmp1['derc_apmaterno']; 
$org$rowEmp1['orgs_clave']; 
$clasif$rowEmp1['derc_regcontrac']; 
desconectar();


//saco oms
conectar();
$queEmp1 mysql_query("SELECT diags_clave,clave_espserv   FROM hos_citas  where derc_ficha ='$row[1]' and derc_codigo='$row[2]' ");
$rowEmp1 mysql_fetch_assoc($queEmp1);
$omsstrtoupper($rowEmp1['diags_clave']); //saco elk oms y lo convierto a mayusculas

$serviciou=$rowEmp1['clave_espserv'];//saco el servicio
desconectar();

//saco la descripcion de oms
conectar();
$queEmp5mysql_query("SELECT diagc_descripcion  FROM hos_diag   where diags_clave ='$oms'");
$rowEmp5mysql_fetch_assoc($queEmp5);
$oms1$rowEmp5['diagc_descripcion'];
desconectar();
//saco el servicio que envia
 
conectar();
$queEmp5mysql_query("SELECT espc_descrip FROM hos_espserv  where clave_espserv='$serviciou'");
$rowEmp5mysql_fetch_assoc($queEmp5);
$descrip$rowEmp5['espc_descrip'];
desconectar();
echo
"    <tr>
<td>$contador</td>
<td>$nom $pat $mat</td>
<td>$row[1]-$row[2]</td>
<td>$row[8]</td>
<td>$org</td>
<td>$clasif</td>
<td>$oms</td>
<td>$oms1</td>
<td>$descrip</td>
       </tr>"
;
       
$total=$contador++;
       
       
       
//saco los totoales
       
if($clasif!='FA' and $clasif!='JU'){//activos
$act=$activos;
$activos++;
}
//cierro el if de los activos

if($clasif=='JU'){//jubilados
$jub=$jubilados;
$jubilados++;
}
//ciero el if de los jubilados

if($clasif=='FA'){//familiares
$fa=$familiares;
$familiares++;
}
//ciero el if de los familiares

//********************************cuento los org cuantos tienen 7
if($org=='7'){
$orga=$organismo;
$organismo++;
}
//ciero el if de los familiares

if($org=='96'){
$orga1=$organismo2;
$organismo2++;
}   
       
if(
$org=='8'){
$orga2=$organismo3;
$organismo3++;


 if(
$org=='4'){
$orga3=$organismo4;
$organismo4++;
}

 if(
$org=='95'){
$orga4=$organismo5;
$organismo5++;
}
 if(
$org=='10'){
$orga5=$organismo6;
$organismo6++;
}

}

}
//cierro el primer if de saber si existe
else //else del primer if para saber si existeresultados
{
echo 
"No Existen Resultados";
}
    
?>
        
    </tbody>
</table>
<table width="179" height="23" border="0" align="left" cellpadding="0" cellspacing="0"  bordercolor="#b7ddf2">
  <tr>
    <td width="154" class="Estilo2"><div align="right">Total de Pacientes:</div></td>
    <td width="25"><?php echo $total?>&nbsp;</td>
  </tr>
  <tr>
    <td class="Estilo2"><div align="right">Activos:</div></td>
    <td><?php echo $act?>&nbsp;</td>
  </tr>
  <tr>
    <td class="Estilo2"><div align="right">Jubilados:</div></td>
    <td><?php echo $jub?>&nbsp;</td>
  </tr>
  <tr>
    <td class="Estilo2"><div align="right">Familiares:</div></td>
    <td><?php echo $fa?>&nbsp;</td>
  </tr>
</table>
<table width="252" border="0" align="center">
  <tr>
    <td width="106"><span class="Estilo2">Total de Sesiones:</span></td>
    <td width="136"><?php echo $totalp?>&nbsp;</td>
  </tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="200" border="0">
  <tr>
    <td height="28"><a href="gersemana.php"><img src="imagenes/Dibujo.PNG" width="29" height="26" border="0" /></a></td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>
al imprimir la variable $ini y la variable $fin me aroja la fecha tal y como la tengo en la bd es lo raro que si me lo esta arojando igual acomo esta en la tabla me deveria de imprimir aa otra cosa en mi tabla el campo fecha es tipo varchar y no es date no se si tenga que ver algo con el BETWEEN
esque ves que separe el año de la hora y pues lo quise poner como date pero no me guardaba nada y mejor lo deje con varchar
  #12 (permalink)  
Antiguo 05/12/2010, 18:36
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

pues para no darnos tanta mala vida como diria un amigo mio, el calendario del de donde seleccionas la feca no puedes decirle en que formato enviarlo?? es con javascript lo mas seguro, hay un archivo donde das ese formato, sino ya que haces el explode de la fecha completa y la vuelves a reconstruir colocala en el formato normal año-mes-dia y has la consulta sin el date_format, xq de verdad esta extraño que no te de resultado, pero bueno creo que con lo que te indique puedes acomodarlo saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #13 (permalink)  
Antiguo 05/12/2010, 19:03
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

sabes movi las fechas ves que tenia BETWEEN '12/1/2010' AND '1/18/2011'
cambie la fecha de inicio en la tabla osea esta 12/1/2010 por esta 1/1/2010 y si me realizo la busqueda sepa por que y mejor decidi usar esta opcion
Código PHP:
$reporte=mysql_query("select * FROM reporte  WHERE fecha>='$ini' and fecha<='$fin' "); 
por el momento creo que si me hace lo que quiero muchas gracias mi amigo por la tencion
  #14 (permalink)  
Antiguo 05/12/2010, 19:12
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

bueno amigo lo que colocaste es lo mismo que hace la funcion BETWEEN de mysql jaja pero si asi te esta dando los resultados que deseas es lo que se quiere saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #15 (permalink)  
Antiguo 05/12/2010, 20:05
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

hola amigo estas por ahi? lo que pasa es que mira otra ves tengo un error asi como lo deje osea asi
Código PHP:
$reporte=mysql_query("select * FROM reporte  WHERE fecha>='$ini' and fecha<='$fin' "); 
por ejemplo si en la variable $ini tiene la fecha siguiente$ini=12/5/2010 y variable $fin tiene lo siguiente $fin=12/6/2010 me muestra los registros dados de alta en tre esos dos dias pero si la variable $fin cabia a este valor
$fin12/22/2010 ya no me muestra nada por que???
  #16 (permalink)  
Antiguo 05/12/2010, 20:55
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

pues te di una solucion en uno de los post anteriores busca el archivo que le da el formato al calendario para que te lo envie en formato año-mes-dia esa seria la solucion perfecta, sino lo logras en estas variables aca
Cita:
Código PHP:
Ver original
  1. $ini=$cadename."/".$cadena."/".$ano;
  2.  $fin=$cadename2."/".$cadena3."/".$ano2;
colocalos en el formato año-mes-dia
Código PHP:
Ver original
  1. $ini=$ano."-".$cadename."-".$cadena;
  2.  $fin=$ano2."-".$cadename2."-".$cadena3;
y te evitas tanto dar formato en la base de datos no crees tu??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #17 (permalink)  
Antiguo 05/12/2010, 21:27
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

Cita:
Iniciado por carlos_belisario Ver Mensaje
pues te di una solucion en uno de los post anteriores busca el archivo que le da el formato al calendario para que te lo envie en formato año-mes-dia esa seria la solucion perfecta, sino lo logras en estas variables aca

colocalos en el formato año-mes-dia
Código PHP:
Ver original
  1. $ini=$ano."-".$cadename."-".$cadena;
  2.  $fin=$ano2."-".$cadename2."-".$cadena3;
y te evitas tanto dar formato en la base de datos no crees tu??
lo que pasa esque yo ago esto
Código PHP:
$ini=$ano."/".$cadename."/".$cadena;
 
$fin=$ano2."/".$cadename2."/".$cadena3
por que le quito los ceros ya sea al dia o al mes ok no espor que lo quiera convertir al formato que tengo en mi tabla en el campo fecha
  #18 (permalink)  
Antiguo 05/12/2010, 21:33
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

la gran duda del año en mi caso para que quitas los ceros y acomodas de una manera que no es la que vas a guardar en la base de datos al momento de la insercion?? ve la logica de lo que tu mismo dices amigo y creo que te saldria mejor hacerlo segun el formato de la base de datos, si es para que lueo te salga en el formato que tu deseas, siempre esta el comando date_format para el select donde realmente se usa con frecuencia diciendo el formato en que se va a mostrar una fecha traida de una consulta o el explode y luego acomodas a tu formato, bueno esa es mi opinion y creo que asi te ahorrarias dolores de cabeza pero es tu codigo tu sabes xq lo deseas asi
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #19 (permalink)  
Antiguo 05/12/2010, 21:36
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

y mira el problema es que por ejemplo si yo selecciono la fecha inicial
12/5/2010 y la fecha final 12/8/2010 si me muestra el registro que por cierto el que esta en la base de deatos es 12/5/2010 perooooo
si yo agho una consulta de la siguiente forma
fecha de inicio 12/1/2010
fecha final12/22/2010
ya no me muestra nada se supone que me deveria de mostrar el registro de la fecha 12/5/2010 ya que se encuentra dentro dela fecha inicio yfecha final
  #20 (permalink)  
Antiguo 05/12/2010, 21:41
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

Cita:
Iniciado por carlos_belisario Ver Mensaje
la gran duda del año en mi caso para que quitas los ceros y acomodas de una manera que no es la que vas a guardar en la base de datos al momento de la insercion?? ve la logica de lo que tu mismo dices amigo y creo que te saldria mejor hacerlo segun el formato de la base de datos, si es para que lueo te salga en el formato que tu deseas, siempre esta el comando date_format para el select donde realmente se usa con frecuencia diciendo el formato en que se va a mostrar una fecha traida de una consulta o el explode y luego acomodas a tu formato, bueno esa es mi opinion y creo que asi te ahorrarias dolores de cabeza pero es tu codigo tu sabes xq lo deseas asi
aaa le quito los ceros por que en mi tabla yo guardo la fecha sin seros es decir en mi tabla esta aasiii 12/5/2010 y en el calendario que ocupo para hacer la consulta me aroja el dia con zero ala izquierda osea asi 12/05/2010 entonces ya no concuerda con lo que tengo en mi tabla y si me preguntas por que no mejor ago que cuando se inserte la fecha en mi tabla se guarde el dia con zeros tendria que moverle al codigo de la agenda que como comente arriba viene ya prediseñada y con una programacion orientada a objetos
  #21 (permalink)  
Antiguo 05/12/2010, 21:51
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Buscar fecha por rango

pues amigo creo que lo mejor que podrias hacer es trabajar las fechas en tu base de datos como tipo date haciendo uso de este como es debido xq para eso fue creado ese tipo de campo, como te dije, para hacer una consulta sin que se muestren los ceros sencillamente lo que debes hacer es darle el date_format de esta manera que es el principal uso de esta funcion
Código MySQL:
Ver original
  1. SELECT DATE_FORMAT(fecha,'%D/%M/%Y') as fecha FROM tabla;
y asi te devolvera la consulta sin ceros y creo que seria hasta mas optimo que estar pariendo para hacer una insercion sin ceros o en un campo texto y luego cuando se quiere hacer un BETWEEN se le complique la vida a uno, te lo digo xq la primera vez que trabaje con fecha lo hice en un campo varchar y cuando quise hacer auditorias me fue de la patada, el codigo de tu agenda donde muestra las fechas seguro le puedes echar un ojo y adaptarlo a tu necesidad, que creo que seria lo mejor pero es mi opinion saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #22 (permalink)  
Antiguo 05/12/2010, 22:31
 
Fecha de Ingreso: noviembre-2010
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscar fecha por rango

ok mi amigo are que me guarde con formato date en mi tabla ahorita te cuento que roio

Etiquetas: rango, fechas
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 03:45.