Revision: 56600
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at April 4, 2012 06:51 by rickyslow
Initial Code
#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 if(count($where)>1) { $pasada = 0; foreach($where as $condiciones) { if($pasada == 0) { $query_pag_data .=" WHERE ".$condiciones["campo_bd"]." ".$condiciones["condicion"]." '".$condiciones["dato"]."'"; } elseif(count($where) > 1 && $pasada == 1) { $query_pag_data .= " AND ".$condiciones["campo_bd"]." ".$condiciones["condicion"]." '".$condiciones["dato"]."'"; } $pasada = 1; } } $query_pag_data .= " LIMIT $start, $porPagina"; #echo "\n<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"); $count_result=mysql_num_rows($result_pag_data); #obtener total $query_pag_num = "SELECT COUNT(*) AS count FROM ".$tabla; #echo "\n<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"); $row = mysql_fetch_array($result_pag_num); $count = $row['count']; $total = (ceil($count/$porPagina)-1); #validaciones if($btn_inicio==true) { if($pagina>1) { $btn_inicio_html = "<li id='1'><<</li>"; $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; while ($row = mysql_fetch_array($result_pag_data)) { $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>"; } return compact('Tablapaginado','listaPaginador'); } #llamar funcion extract(paginarResultados("cliente",'',$page,15,true,true,true,$campos,$link_perfiles)); #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", url: "datos.php", 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); }); });
Initial URL
Initial Description
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.
Initial Title
paginar resultados con php y jquery ajax
Initial Tags
ajax, php, jquery
Initial Language
PHP