Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Reportes por fecha

Estas en el tema de Reportes por fecha en el foro de PHP en Foros del Web. Hola chicos, buenas tardes en México! Acudo a ustedes ya que tengo un problema que no he podido resolver. Trato de realizar reportes de movimientos, ...
  #1 (permalink)  
Antiguo 07/12/2014, 15:36
Avatar de i09120190  
Fecha de Ingreso: noviembre-2014
Mensajes: 19
Antigüedad: 9 años, 6 meses
Puntos: 0
Reportes por fecha

Hola chicos, buenas tardes en México!

Acudo a ustedes ya que tengo un problema que no he podido resolver.
Trato de realizar reportes de movimientos, para lo cual se solicitan 2 fechas al usuario y en seguida se muestran los movimientos que se realizaron durante ese rango de fechas seleccionadas, mi duda es que no se si estoy haciendo mal mi consulta o qué parte del código es la que estoy haciendo mal, ya que el resultado siempre es: No hay movimientos.

El código que estoy usando es este:

Cita:
<input type="date" name="fecha1" id="fecha1"/>
<input type="date" name="fecha2" id="fecha2"/>
<input type="submit" name="filtrar" value="Filtrar" id="filtrar" />


<?php
if(isset($_POST["filtrar"]) && ($_POST["fecha1"]!="") && ($_POST["fecha2"])!=""){
$objModelo->filtro(($_POST["fecha1"]),($_POST["fecha2"]));
}else{
echo "Eliga una fecha para filtrar.";;

}
?>

Y en otro archivo tengo esto:

Cita:
function filtro($fecha1, $fecha2){
$sql="SELECT * FROM tbl_movarticulo WHERE fechaMovimiento>=$fecha1 AND fechaMovimiento<=$fecha2";

$resul = mysqli_query($this->conn, $sql) or die(mysqli_error());


if($resul){
echo "No hay movimientos.";
}else{
echo "<table align='center'><thead>

<th>Articulo</th>
<th>Movimiento</th>
<th>Cantidad</th>
<th>Departamento</th>
<th>Estado</th>
<th>Observaciones</th>
<th>Fecha</th>
<th>Modificar</th>
<th>Eliminar</th>
</thead><tbody>";
while ($row = mysqli_fetch_array($rs)){
echo "<td align='center'>".$row["articulo"]."</td>";
echo "<td align='center'>".$row["movimiento"]."</td>";
echo "<td align='center'>".$row["cantidad"]."</td>";
echo "<td align='center'>".$row["departamento"]."</td>";
echo "<td align='center'>".$row["estado"]."</td>";
echo "<td align='center'>".$row["observaciones"]."</td>";
echo "<td align='center'>".$row["fechaMovimiento"]."</td>";

}
}
echo "</tbody></table>";
}



Les agradezco que me puedan ayudar.
Saludos!
  #2 (permalink)  
Antiguo 07/12/2014, 15:40
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Reportes por fecha

Porque tu condición indica que se muestre ese mensaje cuando la consulta devuelva resultados. Creo que debería de ser al revés.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 07/12/2014, 15:46
Avatar de i09120190  
Fecha de Ingreso: noviembre-2014
Mensajes: 19
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Reportes por fecha

Ay que horror! Que pena de verdad, jajajajaja! Bueno, ya lo acomode, jejee, pero aún no me arroja resultados, solo me muestra los titulos de la tabla pero no me arroja resultados del filtro. :(


Cita:
Código PHP:
function filtro($fecha1$fecha2){
$sql="SELECT * FROM tbl_movarticulo WHERE fechaMovimiento>=$fecha1 AND fechaMovimiento<=$fecha2";

$resul mysqli_query($this->conn$sql) or die(mysqli_error()); 


if(
$resul){
echo 
"<table align='center'><thead>

<th>Articulo</th>
<th>Movimiento</th>
<th>Cantidad</th>
<th>Departamento</th>
<th>Estado</th>
<th>Observaciones</th>
<th>Fecha</th>
<th>Modificar</th>
<th>Eliminar</th>
</thead><tbody>"
;
while (
$row mysqli_fetch_array($resul)){ 
echo 
"<td align='center'>".$row["articulo"]."</td>";
echo 
"<td align='center'>".$row["movimiento"]."</td>";
echo 
"<td align='center'>".$row["cantidad"]."</td>";
echo 
"<td align='center'>".$row["departamento"]."</td>"
echo 
"<td align='center'>".$row["estado"]."</td>"
echo 
"<td align='center'>".$row["observaciones"]."</td>";
echo 
"<td align='center'>".$row["fechaMovimiento"]."</td>"



}else{
echo 
"No hay movimientos."

}
echo 
"</tbody></table>";

  #4 (permalink)  
Antiguo 07/12/2014, 22:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Reportes por fecha

Coloca comillas simples antes y después de cada variable en la consulta, recuerda que son datos tipo Date, no enteros.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: fecha, mysql, reportes, select, sql
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:35.