Autor Tema: Integrar Paginacion y filtros en PHP (paginado automático)  (Leído 5969 veces)

simbeck

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola, mucho gusto y antes que nada felicidades por el trabajo que realizan en el tema de programación,

Quisiera saber si me pueden sacar de un apuro y es que no he logrado el método de paginar este script:

"tabla.php"

Código: [Seleccionar]
<?php
$hostname 
"******";
$database "*******";
$username "****";
$password "******";
$cliente "*******";
$proyecto "********";
$Conn mysql_connect($hostname$username$password)or die("Error de conexion!");
mysql_select_db($database$Conn);

if(
$_GET['action'] == 'listar')
{
    
$vpro  $_POST['Proyecto'];
    
$vtem  $_POST['Tickets_Emitidos'];
    
$vtco  $_POST['Tickets_Cobrados'];
    
$vttc  $_POST['Importe_Total_Cobrado'];
    
$vtcr  $_POST['Tickets_Cortesia'];
    
$vtpr  $_POST['Ticket_Promedio'];
    
$vdel  = ($_POST['del'] != '' ) ? explode("/",$_POST['del']) : '';
    
$val   = ($_POST['al']  != '' ) ? explode("/",$_POST['al']) : '';
    
$sql "SELECT Codigo_de_Sistema, Proyecto, Fecha_de_operacion_Inicio, Fecha_de_operacion_Fin, Tickets_Emitidos, Tickets_Cobrados, CONCAT('$',round(Importe_Total_Cobrado,2))Importe_Total_Cobrado, Tickets_Cortesia, CONCAT('$',round(Ticket_Promedio,2)) Ticket_Promedio FROM $cliente WHERE Fecha_de_operacion_Inicio";
    
$sql .= ($vpro != '')      ? " AND Proyecto LIKE '%$vpro%'" "";
    
$sql .= ($vfoi != '')      ? " AND Fecha_de_operacion_Inicio LIKE '%$vfoi%'" "";
    
$sql .= ($vtem != '')      ? " AND Tickets_Emitidos LIKE '%$vtem%'" "";
    
$sql .= ($vtco != '')      ? " AND Tickets_Cobrados LIKE '%$vtco%'" "";
    
$sql .= ($vttc != '')      ? " AND Importe_Total_Cobrado LIKE '%$vttc%'" "";
    
$sql .= ($vtcr != '')      ? " AND Tickets_Cortesia LIKE '%$vtcr%'" "";
    
$sql .= ($vtpr != '')      ? " AND Ticket_Promedio LIKE '%$vtpr%'" "";
    
$sql .= ($vdel && $val)    ? " AND Fecha_de_operacion_Inicio BETWEEN '$vdel[2]-$vdel[1]-$vdel[0]' AND '$val[2]-$val[1]-$val[0]'" "";
    
    
$vorder $_POST['orderby'];
    
    if(
$vorder != ''){
        
$sql .= " ORDER BY ".$vorder;
    }
    
    
$query mysql_query($sql);
    
$datos = array();
    
    while(
$row mysql_fetch_array($query))
    {
        
$datos[] = array(
            
'Codigo_de_Sistema'         => $row['Codigo_de_Sistema'],
            
'Proyecto'                  => $row['Proyecto'],
            
'Fecha_de_operacion_Inicio' => $row['Fecha_de_operacion_Inicio'],
            
'Fecha_de_operacion_Fin'    => $row['Fecha_de_operacion_Fin'],
            
'Tickets_Emitidos'          => $row['Tickets_Emitidos'],
            
'Tickets_Cobrados'          => $row['Tickets_Cobrados'],
            
'Importe_Total_Cobrado'     => $row['Importe_Total_Cobrado'],
            
'Tickets_Cortesia'          => $row['Tickets_Cortesia'],
            
'Ticket_Promedio'           => $row['Ticket_Promedio']
        );
    }
    echo 
json_encode($datos);
}

?>

js.js



Código: [Seleccionar]
// JavaScript Document
var ordenar = '';
$(document).ready(function(){
   
    // Llamando a la funcion de busqueda al
    // cargar la pagina
    filtrar()
   
    var dates = $( "#del, #al" ).datepicker({
            yearRange: "-50",
            defaultDate: "+1w",
            changeMonth: true,
            changeYear: true,
            onSelect: function( selectedDate ) {
                var option = this.id == "del" ? "minDate" : "maxDate",
                    instance = $( this ).data( "datepicker" ),
                    date = $.datepicker.parseDate(
                        instance.settings.dateFormat ||
                        $.datepicker._defaults.dateFormat,
                        selectedDate, instance.settings );
                dates.not( this ).datepicker( "option", option, date );
            }
    });
   
    // filtrar al darle click al boton
    $("#btnfiltrar").click(function(){ filtrar() });
   
    // boton cancelar
    $("#btncancel").click(function(){
        $(".filtro input").val('')
        $(".filtro select").find("option[value='0']").attr("selected",true)
        filtrar()
    });
   
    // ordenar por
    $("#data th span").click(function(){
        var orden = '';
        if($(this).hasClass("desc"))
        {
            $("#data th span").removeClass("desc").removeClass("asc")
            $(this).addClass("asc");
            ordenar = "&orderby="+$(this).attr("title")+" asc"       
        }else
        {
            $("#data th span").removeClass("desc").removeClass("asc")
            $(this).addClass("desc");
            ordenar = "&orderby="+$(this).attr("title")+" desc"
        }
        filtrar()
    });
});

function filtrar()
{   
    $.ajax({
        data: $("#frm_filtro").serialize()+ordenar,
        type: "POST",
        dataType: "json",
        url: "/Nueva_Pagina/Acosta_Verde/Resultados/Tabla_Resultados_Plaza las Torres Cd Juarez.php?action=listar",
            success: function(data){
                var html = '';
                if(data.length > 0){
                    $.each(data, function(i,item){
                        html += '<tr>'
                            html += '<td>'+item.Fecha_de_operacion_Inicio+'</td>'
                            html += '<td>'+item.Proyecto+'</td>'
                            html += '<td>'+item.Tickets_Emitidos+'</td>'
                            html += '<td>'+item.Tickets_Cobrados+'</td>'
                            html += '<td>'+item.Importe_Total_Cobrado+'</td>'
                            html += '<td>'+item.Tickets_Cortesia+'</td>'
                            html += '<td>'+item.Ticket_Promedio+'</td>'
                        html += '</tr>';
                                                           
                    });                   
                }
                if(html == '') html = '<tr><td colspan="7" align="center">No se encontraron registros..</td></tr>'
                $("#data tbody").html(html);
            }
      });
}

en el index.php he insertado:

Código: [Seleccionar]
<table width="463" cellpadding="0" cellspacing="0" id="data">
<thead>
<tr>
<th width="15%"><div align="center"><span title="Fecha_de_operacion_Inicio">Fecha</span></div></th>
<th width="15%"><div align="center"><span title="Proyecto">Proyecto o Estacionamiento</span></div></th>
<th width="15%"><div align="center"><span title="Tickets_Emitidos">Tickets Emitidos</span></div></th>
<th width="15%"><div align="center"><span title="Tickets_Cobrados">Tickets Cobrados</span></div></th>
<th width="15%"><div align="center"><span title="Importe_Total_Cobrado">Importe Total Cobrado</span></div></th>
<th width="15%"><div align="center"><span title="Tickets_Cortesia">Tickets Cortesia</span></div></th>
<th width="15%"><div align="center"><span title="Ticket_Promedio">Ticket Promedio</span></div></th>
</tr>
</thead>
<tbody>
</tbody>
</table>


Todo sale muy bien me da los resultados y el filtro si se aplica correctamente el tema es que la paginación no funciona adecuadamente.


Por lo que reitero la solicitud de tu apoyo.

Agradeciéndote infinitamente

Saludos De México
« Última modificación: 16 de Agosto 2017, 17:41 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Re:Ayuda Integrar Paginacion
« Respuesta #1 en: 10 de Marzo 2015, 21:39 »
Hola para insertar código en los foros por favor lee esto: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Sobre paginación hay un tema que quizás te pueda ayudar: https://www.aprenderaprogramar.com/foros/index.php?topic=1291

Salu2!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".