Foros del Web » Programando para Internet » PHP »

Filtrar por Fecha en PHP

Estas en el tema de Filtrar por Fecha en PHP en el foro de PHP en Foros del Web. Hola a Todos....... Quisiera saber como puedo filtrar por fecha, es decir mostrar ciertos producto filtrando DE dd/mm/aa AL dd/mm/aa para asi saber cuantos productos ...
  #1 (permalink)  
Antiguo 30/06/2009, 20:34
Avatar de cerradacarlos  
Fecha de Ingreso: mayo-2009
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 2
Filtrar por Fecha en PHP

Hola a Todos.......

Quisiera saber como puedo filtrar por fecha, es decir mostrar ciertos producto filtrando DE dd/mm/aa AL dd/mm/aa para asi saber cuantos productos y el total general que se vendio en una semana o en un mes. en realidad ya hice algo pero no me corre entonces lo voy a mostrar para que me digan que tengo mal.

Tengo dos tablas la primera se llama Productos y tiene los atributos: IdProducto, NombreProducto, PrecioProducto.

y la otra es ProductosCant con los siguientes atributos: IdProductoCantid ,FechaProducto, IdProducto, Cantidad, Total

Código PHP:
<form id="form1" name="form1" method="post" action="VerVentaProducto.php">
 <table width="700" border="0" cellpadding="0" cellspacing="1">
   <!--DWLayoutTable-->
       <tr>
         <td width="15" height="34">&nbsp;</td>
         <td width="146"  bgcolor="#CCCCCC" class="texto1" >&nbsp;Filtrado por Fecha</td>
         <td width="316"  class="texto1">

<select name="txtDia" id="txtDia" class="texto1">
<option value="0">Día</option>
<? for ($i=1;$i<=31;$i++){
echo 
"<option value=$i>$i</option>";
  } 
?>
</select>
                /
                <select name="txtMes" id="txtMes" class="texto1">
                  <option value="0">Mes</option>
                  <option value="1">Enero</option>
                  <option value="2">Febrero</option>
                  <option value="3">Marzo</option>
                  <option value="4">Abril</option>
                  <option value="5">Mayo</option>
                  <option value="6">Junio</option>
                  <option value="7">Julio</option>
                  <option value="8">Agosto</option>
                  <option value="9">Octubre</option>
                  <option value="10">Septiembre</option>
                  <option value="11">Noviembre</option>
                  <option value="12">Diciembre</option>
                </select> 
                /
                
         <select name="txtAnio" id="txtAnio" class="texto1">
             <option value="0">Año</option>
         <? 
                 
for ($i=2009;$i<=2021;$i++){
         echo 
"<option value=$i>$i</option>";
        } 
?>
               </select>

           <input name="Submit" type="submit" class="texto11" id="Submit" value="Buscar" />         </td>
<td width="218">&nbsp;</td>
</tr>
</table>   

 </form>


<?
        
include_once("dbConex.php");
           
$dbConex=abrirConexion();
       
$txtDia =$_POST["txtDia"];
       
$txtMes =$_POST["txtMes"];
       
$txtAnio =$_POST["txtAnio"];
       
$fechausa=$txtAnio "-".$txtMes"-".$txtDia;
       if(
$fechausa!=""){
       
$sql "SELECT * FROM ProductosCant,Productos WHERE  ProductosCant.IdProducto=Productos.IdProducto  ORDER BY IdProductoCantid DESC ";
       }else{
       
$sql "SELECT * FROM ProductosCant,Productos WHERE ProductosCant.FechaProducto=$fechausa AND ProductosCant.IdProducto=Productos.IdProducto ";  
       }
       
$registros=mysql_query($sql);
       
$numfilas=mysql_num_rows($registros); 
       
$suma=0;    
       while(
$filas=mysql_fetch_array($registros)){ 
      
?>
  #2 (permalink)  
Antiguo 30/06/2009, 20:37
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: Filtrar por Fecha en PHP

Si tu tipo de campo es DATE o DATETIME puedes usar la función BETWEEN de MySQL para obtener registros entre dos rangos.

Saludos.
  #3 (permalink)  
Antiguo 30/06/2009, 20:48
Avatar de cerradacarlos  
Fecha de Ingreso: mayo-2009
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Filtrar por Fecha en PHP

Ok GatorV Pero como lo hago me podría dar un ejemplo por favor Gracias..
  #4 (permalink)  
Antiguo 30/06/2009, 21:10
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Filtrar por Fecha en PHP

Hola amigo que tal, resuelvelo utilizando el siguiente query:

Código:
SELECT NombreProducto from Productos INNER JOIN ProductosCant ON Productos .IdProducto=ProductosCant.IdProducto   WHERE FechaProducto BETWEEN "2009-05-01" AND "2009-05-10"
Ya sería cuestión de que tu eligieras la fecha y el formato en que esté tu variable FechaProducto

Saludos
  #5 (permalink)  
Antiguo 30/06/2009, 21: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: Filtrar por Fecha en PHP

En el Manual puedes ver como usar BETWEEN simplemente es decirle entre que rango quieres los resultados.

Saludos.
  #6 (permalink)  
Antiguo 30/06/2009, 21:25
Avatar de cerradacarlos  
Fecha de Ingreso: mayo-2009
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Filtrar por Fecha en PHP

A Ok esta Bien Gracias a Todos....
  #7 (permalink)  
Antiguo 17/11/2009, 16:56
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Filtrar por Fecha en PHP

hola y si mi date time esta en timestamp tb puede hacerse lo mismo??????????
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:18.