Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Consulta con Select por fechas

Estas en el tema de Consulta con Select por fechas en el foro de Jquery en Foros del Web. Hola, buenas a todos , gracias a muchos post de esta web y mucho leer estoy armando mi propio sistema de gestion para un emprendimiento ...
  #1 (permalink)  
Antiguo 22/08/2017, 09:59
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años, 9 meses
Puntos: 0
Pregunta Consulta con Select por fechas

Hola, buenas a todos , gracias a muchos post de esta web y mucho leer estoy armando mi propio sistema de gestion para un emprendimiento que tenemos con mi novia (debido a que estamos comenzando todavia no podemos abonar un sistema mensualmente, y por otro lado, la programacion es un mundo que me encanta, por eso insisto en hacerlo yo mismo jeje)

En este caso estoy armando una web que me genere un informe de comprobantes emitidos segun fechas y la caja a la cual entro el dinero.
Tengo un form, en el que primero se debe seleccionar cual es la Caja que vamos a filtrar:

Código:
<select class="form-control" id="caja" name="caja" required>
                                <option value="1">Efectivo</option>
                                <option value="2">caja 2</option>
                                <option value="3">caja 3</option>
                                <option value="4">caja 4</option>
                              </select>
Luego, las fechas, desde y hasta. Que lo hice con un datetimepicker:(pongo una sola para no llenar el post, el otro se llamaria dtp_input2 en vez de 1

Código:
<div class="form-group">
                                <label for="dtp_input1" class="col-md-4 control-label">Desde</label>
                                <div class="input-group date form_datetime col-md-12" data-date="2017-01-01T05:25:07Z" data-date-format="yyyy-m-dd HH:ii:ss" data-link-field="dtp_input1">
                                    <input class="form-control" size="16" type="text" value="" readonly>
                                    <span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span>
                                    <span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span>
                                </div>
                                <input type="hidden" id="dtp_input1" value="" /><br/>
                            </div>
Como veran, deposita los valores en un hidden input.
Lo que necesito es hacer que al momento de hacer el submit, se seleccione la caja y ordene las facturas por fecha y sume el total. (mostrandolas, en una tabla obviamente)
Es posible hacerlo desde la misma web con ajax?
Me podrian orientar con algun codigo o algo para poder hacerlo?
O mismo, si alguien esta interesado en ayudarme, puede contactarme por privado y le paso ams informacion. Muchisimas Gracias!!

Desde ya muchisimas gracias por leer todo esto!!
  #2 (permalink)  
Antiguo 22/08/2017, 10:56
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Consulta con Select por fechas

Si la información a obtener se encuentra en una base de datos y vas a realizar una petición asíncrona (AJAX), solo tendrías que realizar el ordenamiento desde la consulta SQL mediante la cláusula ORDER BY, formar el cuerpo de la tabla (imprimirlo) y ese resultado retornará como respuesta que, finalmente, adherirás a una tabla HTML en el archivo inicial.

__________________
«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 22/08/2017, 14:31
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta con Select por fechas

Alexis:

Muchas gracias por responderme!! Estuve probando un poco, envie los datos del formulario atravez de ajax, probe de hacer un echo de cada uno de los tres datos y los muestra en la web al momento de darle click al boton.
Luego intente armar un codigo para generar la tabla, de la siguiente manera:

Código:
<?php 
include('../sesion_confirm.php');//Archivo verifica que el usario que intenta acceder a la URL esta logueado
require_once ("../abrir_conexion.php");//Contiene las variables de configuracion para conectar a la base de datos
//Archivo de funciones PHP
include("../funciones.php");

$caja = $_POST["caja"];
$desde = $_POST['dtp_input1'];
$hasta = $_POST['dtp_input2'];

//EJECUTAMOS LA CONSULTA DE BUSQUEDA

$query = mysqli_query($conexion,"SELECT * FROM facturas WHERE fecha_factura BETWEEN '$desde' AND '$hasta' ORDER BY id_factura ASC");

//CREAMOS NUESTRA VISTA Y LA DEVOLVEMOS AL AJAX

echo '<table class="table table-striped table-condensed table-hover">
        	<tr>
            	<th width="300">numero fac</th>
                <th width="200">cliente</th>
                <th width="150">vendendor</th>
                <th width="150">condicion</th>
                <th width="150">Fecha</th>
                <th width="50">total</th>
            </tr>';
if(mysql_num_rows($query)>0){
	while($registro2 = mysql_fetch_array($query)){
		echo '<tr>
				<td>'.$registro2['numero_factura'].'</td>
				<td>'.$registro2['id_cliente '].'</td>
				<td>'.$registro2['id_vendedor'].'</td>
				<td>'.$registro2['condiciones '].'</td>
				<td>'.$registro2['fecha_factura'].'</td>
				<td>'.$registro2['total_venta'].'</td>
				</tr>';
	}
}else{
	echo '<tr>
				<td colspan="6">No se encontraron resultados</td>
			</tr>';
}
echo '</table>';




?>
1º todavia no implemente que tome el dato del form: caja (option 1 2 3 y 4), que refiere a la columna " condiciones " de la base de datos. (realmente no se como ordenarlo en la consulta)
2º Me arma la tabla pero no muestra ningun dato.

me podras ayudar? Te pego una imagen de la base de datos y del formulario:



la primer fecha es el dtp_input1 y el segundo es el dtp_input2, solo que no cambie el label y me quedo desde en los dos.
Como veras arregle los datetimepicker para que tengan el mismo formato que el datetime de la base de datos sql.

Muchisimas gracias
  #4 (permalink)  
Antiguo 22/08/2017, 19:40
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: Consulta con Select por fechas

una de las cosas que veo mal es que utilizas la libreria mysqli para ejecutar la query y para los resultados la libreria mysql?????

Revisa eso que alli esta el problema

Código PHP:
Ver original
  1. $a = $con->query("SELECT * FROM tabla WHERE campo = 'valor");
  2. $t = mysqli_num_rows($a);
  3.  
  4. if($t>=1){
  5.     while($row = $a->fetch_array()){
  6.         //Aqui resto del codigo
  7.     }
  8. }else{
  9.     echo "Sin datos que mostrar";
  10. }
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 23/08/2017, 07:19
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta con Select por fechas

Hola xfx!!
Muchisimas gracias por tu aclaracion, sabes que con tu codigo pude listar los valores al fin!!
Todavia no pude comenzar a estudiar formalmente programacion ya que no tengo mucho tiempo porque tengo dos trabajos, pero prometo hacerlo pronto para no cometer estos errores de mezclar librerias, fue sin querer ya que iba leyendo manuales en internet y de ahi que use ese codigo jaja.

Te hago una consulta mas, al momento de realizar la busqueda y que liste los resultados en la tabla, necesito sumar todos los valores que me arroja "total_factura"

De que manera podria hacerlo?
En el bucle While, declaro la variable asi: $total_venta=$row['total_venta'];
para luego hacer un echo en el <td> e imprimir la variable en la tabla.
Necesitaria crear una variable que sume todos los registros de esa columna, hay algun codigo que me recomiendes??
Si necesitas alguna parte del codigo para orientarme avisame y la coloco.

Muchisimas gracias de antemano por tomarte el tiempo de ayudarme!

Saludos!!
  #6 (permalink)  
Antiguo 23/08/2017, 07:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Consulta con Select por fechas

Antes de iniciar el bucle, declara una variable y establece un valor igual a cero. Dentro del bucle, tan solo tendrías que sumarle el valor que $total_venta toma en cada iteración.

Código PHP:
Ver original
  1. $suma_final = 0;
  2.  
  3. while (/*...*/){
  4.     //Instrucciones
  5.     //...
  6.    $suma_final += $total_venta;
  7. }

Al finalizar el bucle, dicha variable contendrá la suma total de los valores sumados.

__________________
«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
  #7 (permalink)  
Antiguo 23/08/2017, 08:33
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta con Select por fechas

Hola Alexis, gracias por contestar, no me alcanzan las gracias por toda la ayuda que me estan brindando, de verdad!

Veo que la variable hace las sumas de todos los totales, ahora, lo que me restaria ,seria imprimir debajo de la tabla esa suma final, probe de crear una tabla asi:

Código:
<tr>
<td class='text-right'><?php echo $suma_final;?></td>
</tr>
pero me intercala la suma entre cada resultado que arroja la busqueda, de esta manera:


Para ser mas exacto: lo coloque debajo de los contenidos de la tabla asi:
Código:
<tr>
	<td><?php echo $numero_factura; ?></td>
	<td><?php echo $id_cliente; ?></td>
        <td><?php echo $vendedor; ?></td>
        <td><span class="label <?php echo $label_class;?>"><?php echo $text_condi; ?></span></td>
        <td><?php echo $fecha_factura; ?></td>
         <td><?php echo $total_venta; ?></td>
 </tr>
        
    <tr>
	<td class='text-right'><?php echo $suma_final;?></td>
	</tr>
Gracias de nuevo y disculpen la molestia!
  #8 (permalink)  
Antiguo 23/08/2017, 08:38
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta con Select por fechas

Listo, solucionado, no me di cuenta, lo estaba poniendo dentro del bucle, es decir, justito antes de cerrarlo.
Lo puse debajo y funciono a la perfeccion.
Muchisimas gracias por compartir sus conocimientos!!
Un abrazo para todos

Etiquetas: select
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 08:46.