paginar resultados con php和jquery ajax
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了paginar resultados con php和jquery ajax相关的知识,希望对你有一定的参考价值。
paginar resultados con jquery y ajax, permite ingresar condiciones (where, like, =...)solo se ingresa el nombre de los campos de la base de datos que se desean listar
ver opciones.
#Funcion para paginar resultados con condiciones #opciones: #$where = array(array(campo_bd => "campo_1", condicion => '=', dato => '1234'),array(campo_bd => "campo_2", condicion => 'LIKE', dato => '1234')); #$campos = array('campo_1','campo_2','campo_3','campo_4'); #autor: Luis Jofre G. function paginarResultados($tabla,$where,$pagina,$porPagina,$btn_inicio,$btn_final,$numeros,$campos,$conn) { echo '<input type="hidden" id="paginaHidden" value="'.$pagina.'" />'; $start = $pagina * $porPagina; if($pagina == 0){ $pagina = 1; } #consulta obtener datos $query_pag_data = "SELECT * FROM ".$tabla.""; #si existen condiciones se concatenan { $pasada = 0; foreach($where as $condiciones) { if($pasada == 0) { $query_pag_data .=" WHERE ".$condiciones["campo_bd"]." ".$condiciones["condicion"]." '".$condiciones["dato"]."'"; } { $query_pag_data .= " AND ".$condiciones["campo_bd"]." ".$condiciones["condicion"]." '".$condiciones["dato"]."'"; } $pasada = 1; } } $query_pag_data .= " LIMIT $start, $porPagina"; #echo " <br>".__FUNCTION__.": <pre>".$query_pag_data."</pre>".mysql_error($conn); $result_pag_data=mysql_query($query_pag_data,$conn)or die("Error en: ".__FUNCTION__." - Funcion obtener datos"); #obtener total $query_pag_num = "SELECT COUNT(*) AS count FROM ".$tabla; #echo " <br>".__FUNCTION__.": <pre>".$query_pag_num."</pre>".mysql_error($conn); $result_pag_num=mysql_query($query_pag_num,$conn)or die("Error en: ".__FUNCTION__." - Funcion obtener cantidad total"); $count = $row['count']; #validaciones if($btn_inicio==true) { if($pagina>1) { $btn_inicio_html .= "<li id='".($pagina-1)."'><</li>"; } } if($btn_final==true) { if($total > 0 || $pagina != $total ){ if($pagina<$total) { $btn_final_html = "<li id='".($pagina+1)."'>></li>"; $btn_final_html .= "<li id='".($total)."'>>></li>"; } } } if($count_result > 0) { $listaPaginador = '<tr> <td colspan="5" class="listado_blanco"><b>Pagina <span id="Npagina">'.$pagina.'</span> de '.$total.'</b> <table border="0" cellspacing="0"> <tr> <td><div id="pagination" align="center"> <ul>'.$btn_inicio_html.'</ul> </div> </td> <td><select id="select_paginador">'; for($i=1; $i<=$total; $i++) { if($total >= $i) { if($pagina == $i){ $selected = "selected='selected'"; }else{ $selected = ""; } $listaPaginador .= '<option '.$selected.' value="'.$i.'">'.$i.'</option>'; } } $listaPaginador .= '</select></td> <td><div id="pagination" align="center"> <ul>'.$btn_final_html.'</ul> </div> </td> </tr> </table> </td> </tr>'; $numero = $start+1; { $Tablapaginado .= '<tr class="listado_plomo">'; if($numeros == true){ $Tablapaginado .= '<td>'.$numero.'</td>'; } foreach($campos as $campo){ $Tablapaginado .= '<td>'.$row[$campo].'</td>'; } $Tablapaginado .= '</tr>'; $numero++; } } else { $listaPaginador = ""; $Tablapaginado = "<td colspan=".count($campos)." class='listado_plomo'>No se encontraron resultados</td>"; } } #llamar funcion #armar tabla echo '<table border="1" cellspacing="0" valign="top" align="center" width="90%">'; echo $listaPaginador; echo '<tr> <td colspan="5" class="titulo_negro" height="32" align="center"> Listado de Clientes</td> </tr> <tr class="titulo_negro"> <td width="1%">N°</td> <td width="5%">Rut</td> <td width="30%">Nombre</td> <td width="35%">Dirección</td> <td width="20%">Giro</td> </tr>'; echo $Tablapaginado; echo $listaPaginador; echo '</table>'; #jquery jQuery(document).ready(function ($) { function loading_show(){ $('#loading').html("<img src='../images/loading.gif'/>").fadeIn('fast'); } function loading_hide(){ $('#loading').html(''); } function loadData(page){ loading_show(); $.ajax({ type: "POST", data: "page="+page, success: function(data){ $("#resultadosClientes").ajaxComplete(function(event, request, settings){ loading_hide(); $("#resultadosClientes").html(data); }); } }); } loadData(0); //cargar pagina primera vez $('#pagination li').live('click',function(){ var page = this.id; loadData(page); }); $('#select_paginador').live('change',function(){ var page = this.value; loadData(page); $('#select_paginador option[value='+$("#paginaHidden").val()+']').attr('selected', true); }); });
以上是关于paginar resultados con php和jquery ajax的主要内容,如果未能解决你的问题,请参考以下文章
xml Ejemplo de solicitud a PriceSurfer con dos habitaciones,que devuelve algunos resultados con 3 ha
php paginacion paginar lista paginas pagina listado
php paginacion paginar lista listado pagina limit limite offsetpaginaapginación