Busca la funcion que necesitas!

martes, 18 de enero de 2011

PHP - Páginacion con PHP y MYSQL

En esta ocasión les enseñaré un source  para paginar o bueno en palabras comunes, para tener nuestras paginas en nuestro sistema de noticias en php es decir siguiente pagina y pagina anterior y demás, jeje muestro el source:

$limite=11;// Limite de "noticias" o entradas por página
if(!isset($_GET['pag']))//si la variable pag es nula
{
  $pag=0;//entonces lo devolvemos a la primera pagina
}
else // si no
{
  $pag=$_GET['pag'];//obtenemos la página en la que estamos
}
$num=$pag*$limite;//multiplicamos la pagina * el limite
$sql=mysql_query("SELECT * FROM tu_tabla LIMIT {$num},{$limite}");//sacamos los nuevos datos
while($row=mysql_fetch_array($sql))
{
  echo $row['noticia']."<br />"; // los desplegamos en pantalla
}
Con esto ya tenemos la base, sé que es difícil implementarlo si no tienes mucha experiencia con php, este código lo vas a pegar en la página donde vayas a mostrar tus noticias y vas a reemplazar el campo

$sql=mysql_query("SELECT * FROM tu_tabla LIMIT {$num},{$limite}");
En donde dice tu_tabla lo vaz a reemplazar por el nombre de tu tabla donde esten las noticias
echo $row['noticia']."<br />";
Y aca vas a cambiar noticia por el nombre del campo que contenga las noticias

Ahora para mostrar una flechita para ir a la siguiente pagina pues basta con poner un link apuntando a $_GET['pag']+1 y para pagina anterior $_GET['pag']-1

Si tienes poca experiencia en el lenguaje y no pudiste implementar la paginacion deja un comentario con gusto te ayudare o abrire otra entrada explicandolo PASO a PASO 

Nota importante: A los $_GET para página siguiente y página anterior hay que confirmar que sean enteros (int)$_GET.. o if(is_numeric($_GET['pag']) porque esos datos van directo a la base de datos y con una simple comilla pueden hacer una inyección sql.

Esta observación no la hize yo, la hizo Kenichi, gracias por tu comentario para retroalimentar la publiación.

No hay comentarios:

Publicar un comentario