implemente una paginacion que habia modificado hace un tiempo y de esa paginacion hice una funcion para reducir el codigo para que se entienda. muestro los registros correctamente, pero no me muestra los links de la paginacion. estuve asi desde unos dias y no encuentro una solucion.
este es mi codigo que desarrolle.
Código PHP:
Ver original
// crearemos una funcion para mostrar todos los registros. function mostrar_registros($inicio,$registros) { global $cn; // declaramos la primera consulta para sacar el total de registros para paginar. $sql_total = "SELECT `id` FROM contactos"; $total_registros = num_rows($rs_sql); // utilizamos una consulta sql para mostrar los datos. declaramos la variable $sql y utilizamos la funcion LIMIT. $sql_registros = "SELECT * FROM contactos LIMIT $inicio, $registros"; return $query_registros; } function paginar($pagina,$total_registros,$num_registros,$enlace) { $anterior = ($pagina-1); $siguiente = ($pagina+1); if($total_registros) { if(($pagina-1)>0) { $texto_url = "<a href='$enlace$anterior'> < Anterior</a>"; } for ($i=1;$i<=$total_paginas;$i++) { if($pagina==$i) { $texto_url .= "<a href=javascript:void(0);> ".$pagina."</a>"; } else { $texto_url .= "<a href='$enlace$i'> ".$i."</a>"; } } if(($pagina+1)<=$total_paginas) { $texto_url .= "<a href='$enlace$siguiente'> Siguiente ></a>"; } } return $texto_url; }
el archivo donde muestro los resultados y la funcion paginar()
Código PHP:
Ver original
/* incluiremos el archivo llamado conexion.php con y tambien el archivo paginar.php. */ include("conexion.php"); include("paginar.php"); // llamamos a la funcion conexion(). $cn = Conexion(); // declaramos la variable $registros. le asignamos el valor 5 por el limite de registros a mostrar. $registros = 5; $pagina = $_GET['pagina']; // la variable $pagina a enviar es por el metodo $_GET. // declaramos la variable $pagina. condicionamos la variable pagina si es true or false. if (!$pagina) { $inicio = 0; // inicia el registro en 0. $pagina = 1; // si no hubieran mas registros, se mostraria el numero 1. } else // caso contrario me mostraria el total de registros a paginar. { $inicio = ($pagina - 1) * $registros; } // defino la variable $query_registros. $rs_registros = mostrar_registros($inicio,$registros); if(num_rows($rs_registros)>0) { while($row = fetch_array($rs_registros)) { echo $row['nombres'].' '.$row['apellidos']; } } else { echo "No hay resultados para esta consulta."; } // Libero memoria con la funcion mysql_free_result(): // mostramos la funcion paginar(). paginar($pagina,$total_registros,$registros,"ejemplo3.php?pagina=");
en la funcion paginar() asigno los parametros. pero al parecer, en la variable $total_registros donde realiza la condicion, no me muestra los links. parece como si no almacenara la cantidad de registros que hay en mi tabla.
saludos.