Autor Tema: Integrar Paginacion y filtros en PHP (paginado automático)  (Leído 7113 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: 2664
    • 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".