| |||
Yo la verdad no se a que te refieres, si no explicas un poco mejor tu duda o no pegas una parte de codigo que no entiendas o si ni siquiera colocas un link, me parece que va a resultar dificil intentar ayudarte. Suerte. |
| ||||
2da parte :D ------------------------------------------------------------------------- //------------------------------------------------------------------------ /* * Propagación de variables por el URL. *------------------------------------------------------------------------ */ // La idea es pasar también en los enlaces las variables hayan llegado por url. $_pagi_enlace = $_SERVER['PHP_SELF']; $_pagi_query_string = "?"; if(!isset($_pagi_propagar)){ //Si no se definió qué variables propagar, se propagará todo el $_GET (por compatibilidad con versiones anteriores) //Perdón... no todo el $_GET. Todo menos la variable _pagi_pg if (isset($_GET['_pagi_pg'])) unset($_GET['_pagi_pg']); // Eliminamos esa variable del $_GET $_pagi_propagar = array_keys($_GET); }elseif(!is_array($_pagi_propagar)){ // si $_pagi_propagar no es un array... grave error! die("<b>Error Paginator : </b>La variable \$_pagi_propagar debe ser un array"); } // Este foreach está tomado de la Clase Paginado de webstudio // (http://www.forosdelweb.com/f18/para-paginar-con-php-65528/) foreach($_pagi_propagar as $var){ if(isset($GLOBALS[$var])){ // Si la variable es global al script $_pagi_query_string.= $var."=".$GLOBALS[$var]."&"; }elseif(isset($_REQUEST[$var])){ // Si no es global (o register globals está en OFF) $_pagi_query_string.= $var."=".$_REQUEST[$var]."&"; } } // Añadimos el query string a la url. $_pagi_enlace .= $_pagi_query_string; //------------------------------------------------------------------------ /* * Generación de los enlaces de paginación. *------------------------------------------------------------------------ */ // La variable $_pagi_navegacion contendrá los enlaces a las páginas. $_pagi_navegacion_temporal = array(); if ($_pagi_actual != 1){ // Si no estamos en la página 1. Ponemos el enlace "anterior" $_pagi_url = $_pagi_actual - 1; //será el número de página al que enlazamos $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_ pagi_nav_anterior</a>"; } // La variable $_pagi_nav_num_enlaces sirve para definir cuántos enlaces con // números de página se mostrarán como máximo. // Ojo: siempre se mostrará un número impar de enlaces. Más info en la documentación. if(!isset($_pagi_nav_num_enlaces)){ // Si no se definió la variable $_pagi_nav_num_enlaces // Se asume que se mostrarán todos los números de página en los enlaces. $_pagi_nav_desde = 1;//Desde la primera $_pagi_nav_hasta = $_pagi_totalPags;//hasta la última }else{ // Si se definió la variable $_pagi_nav_num_enlaces // Calculamos el intervalo para restar y sumar a partir de la página actual $_pagi_nav_intervalo = ceil($_pagi_nav_num_enlaces/2) - 1; // Calculamos desde qué número de página se mostrará $_pagi_nav_desde = $_pagi_actual - $_pagi_nav_intervalo; // Calculamos hasta qué número de página se mostrará $_pagi_nav_hasta = $_pagi_actual + $_pagi_nav_intervalo; // Ajustamos los valores anteriores en caso sean resultados no válidos // Si $_pagi_nav_desde es un número negativo if($_pagi_nav_desde < 1){ // Le sumamos la cantidad sobrante al final para mantener el número de enlaces que se quiere mostrar. $_pagi_nav_hasta -= ($_pagi_nav_desde - 1); // Establecemos $_pagi_nav_desde como 1. $_pagi_nav_desde = 1; } // Si $_pagi_nav_hasta es un número mayor que el total de páginas if($_pagi_nav_hasta > $_pagi_totalPags){ // Le restamos la cantidad excedida al comienzo para mantener el número de enlaces que se quiere mostrar. $_pagi_nav_desde -= ($_pagi_nav_hasta - $_pagi_totalPags); // Establecemos $_pagi_nav_hasta como el total de páginas. $_pagi_nav_hasta = $_pagi_totalPags; // Hacemos el último ajuste verificando que al cambiar $_pagi_nav_desde no haya quedado con un valor no válido. if($_pagi_nav_desde < 1){ $_pagi_nav_desde = 1; } } } for ($_pagi_i = $_pagi_nav_desde; $_pagi_i<=$_pagi_nav_hasta; $_pagi_i++){//Desde página 1 hasta última página ($_pagi_totalPags) if ($_pagi_i == $_pagi_actual) { // Si el número de página es la actual ($_pagi_actual). Se escribe el número, pero sin enlace y en negrita. $_pagi_navegacion_temporal[] = "<span ".$_pagi_nav_estilo_mod.">$_pagi_i</span>"; }else{ // Si es cualquier otro. Se escibe el enlace a dicho número de página. $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_i."'>".$_ pagi_i."</a>"; } } if ($_pagi_actual < $_pagi_totalPags){ // Si no estamos en la última página. Ponemos el enlace "Siguiente" $_pagi_url = $_pagi_actual + 1; //será el número de página al que enlazamos $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_ pagi_nav_siguiente</a>"; } $_pagi_navegacion = implode($_pagi_separador, $_pagi_navegacion_temporal); //------------------------------------------------------------------------ /* * Obtención de los registros que se mostrarán en la página actual. *------------------------------------------------------------------------ */ // Calculamos desde qué registro se mostrará en esta página // Recordemos que el conteo empieza desde CERO. $_pagi_inicial = ($_pagi_actual-1) * $_pagi_cuantos; // Consulta SQL. Devuelve $cantidad registros empezando desde $_pagi_inicial $_pagi_sqlLim = $_pagi_sql." LIMIT $_pagi_inicial,$_pagi_cuantos"; $_pagi_result = mysql_query($_pagi_sqlLim); // Si ocurrió error y mostrar errores está activado if($_pagi_result == false && $_pagi_mostrar_errores == true){ die ("Error en la consulta limitada: $_pagi_sqlLim. Mysql dijo: <b>".mysql_error()."</b>"); } //------------------------------------------------------------------------ /* * Generación de la información sobre los registros mostrados. *------------------------------------------------------------------------ */ // Número del primer registro de la página actual $_pagi_desde = $_pagi_inicial + 1; // Número del último registro de la página actual $_pagi_hasta = $_pagi_inicial + $_pagi_cuantos; if($_pagi_hasta > $_pagi_totalReg){ // Si estamos en la última página // El ultimo registro de la página actual será igual al número de registros. $_pagi_hasta = $_pagi_totalReg; } $_pagi_info = "desde el $_pagi_desde hasta el $_pagi_hasta de un total de $_pagi_totalReg"; //------------------------------------------------------------------------ /** * Variables que quedan disponibles después de incluir el script vía include(): * ------------------------------------------------------------------------ * $_pagi_result Identificador del resultado de la consulta a la BD para los registros de la página actual. Listo para ser "pasado" por una función como mysql_fetch_row(), mysql_fetch_array(), mysql_fetch_assoc(), etc. * $_pagi_navegacion Cadena que contiene la barra de navegación con los enlaces a las diferentes páginas. Ejemplo: "<<anterior 1 2 3 4 siguiente>>". * $_pagi_info Cadena que contiene información sobre los registros de la página actual. Ejemplo: "desde el 16 hasta el 30 de un total de 123"; */ ?> |
| |||
Bueno por ahi te sirve, hace unos dias hice esto http://archivos.cogia.net/paginador.htm tiene un manual y un ejemplo de uso capas que te sirva. Saludos |