Paginación simple para tu web
Paginación facil para implementar en tu sitio web...
este es el archivo ejemplo:: paginar.php
Editado
este es el archivo ejemplo:: paginar.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Indice</title> <style type="text/css"> * { margin: 0; padding: 0; } body { font: normal normal normal 11px/20px Verdana, Tahoma, Arial, Helvetica, sans-serif; color: #444; background: #fff; } h1 { font: bold normal normal 13px/17px Verdana, Tahoma, Arial, Helvetica, sans-serif; color: #777; margin: 0 0 4px; clear: both; text-align: left; border-bottom: 1px solid #ddd; padding-bottom: 6px; } h2 { font: normal normal normal 13px/17px "Lucida Sans Unicode", "Lucida Grande", "Trebuchet MS", Trebuchet, Arial, Helvetica, sans-serif; text-transform: uppercase; color: #0077b2; margin: 0 0 4px; clear: both; } a { text-decoration: none; color: #0077b2; } p { margin-bottom: 10px;} ul { text-align: center; list-style: none; margin: 20px auto; height: 20px; overflow: hidden; } li { width: 20px; height: 20px; text-align: center; background: #4ca0c9; color: #fff; font-weight: bold; display: block; float: left; margin-right: 6px; } li a { width: 20px; height: 20px; line-height: 20px; display: block; background: #eaeaea; } li a:hover { background: #0077b2; color: #fff; } li.anterior, li.siguiente, li.anterior a, li.siguiente a { width: 100px; display: block; } #contenedor { width: 600px; margin: 50px auto; } </style> </head> <body> <div id="contenedor"> <h1>Script para paginar en PHP</h1> <?php $bd = 'paginacion'; // nombre de tu base de datos $usuario = 'root'; // usuario de la base de datos $clave = 'web321'; // clave de la base de datos $url = 'http://localhost/pruebas/paginacion-php/'; // URL raiz de tu archivo $registros = 2; // Número de ítems por página. function conectar() { global $bd, $usuario, $clave; if ( !( $link = mysql_connect('localhost', $usuario, $clave) ) ) { echo 'Error conectando a la base de datos.'; exit(); } if ( !mysql_select_db($bd, $link) ) { echo 'Error seleccionando la base de datos.'; exit(); } return $link; } function codif($in_str) { /* Función para convertir a utf-8 en caso necesario, por Guillermo Pérez (@mayid) */ $cur_encoding = mb_detect_encoding($in_str); if( $cur_encoding == 'utf-8' && mb_check_encoding($in_str,'utf-8') ) return $in_str; else return utf8_encode($in_str); } $db = conectar(); $pagina = isset($_GET['pagina']) ? $_GET['pagina'] : null; $html = null; $paginador = null; if (!$pagina) { $inicio = 0; $pagina = 1; } else $inicio = ($pagina - 1) * $registros; $reg = mysql_query('SELECT id FROM articulos WHERE visible = 1'); $total_registros = mysql_num_rows($reg); $resultados = mysql_query('SELECT * FROM articulos WHERE visible = 1 ORDER BY fecha ASC LIMIT '. $inicio .' , '. $registros); $total_paginas = ceil($total_registros / $registros); if($total_registros) { //Código del paginador $paginador .=' <ul class="paginador">'; if(($pagina - 1) >= 2) $paginador .='<li class="anterior"><a href="'. $url .'?pagina='. ($pagina - 1) .'">« Anterior</a></li>' . "\n"; elseif(($pagina - 1) == 1) $paginador .='<li class="anterior"><a href="'. $url .'">« Anterior</a></li>' . "\n"; for ($i = 1; $i <= $total_paginas; $i++) { if ($i == $pagina) $paginador .='<li class="actual">'. $pagina .'</li>' . "\n"; elseif($i == 1) $paginador .='<li><a href="'. $url .'" title="ir a la página 1">1</a></li>' . "\n"; else $paginador .='<li><a href="'. $url .'?pagina='. $i .'" title="ir a la página '. $i .'">'. $i .'</a></li>' . "\n"; } if( ($pagina + 1) <= $total_paginas ) $paginador .='<li class="siguiente"><a href="'. $url .'?pagina='. ($pagina + 1) .'">Siguiente »</a></li>' . "\n"; $paginador .='</ul>'; // Fin paginador $html .= $paginador; while( $articulo = mysql_fetch_array($resultados) ) { $html .= ' <h2>'.codif($articulo['titulo']).'</h2> <p class="contenido">'. codif($articulo['descripcion']) .'</p>'; } } else $html .=' <p class="sin-resultados">(No hay resultados para mostrar)</p>'; $html .= $paginador; mysql_close($db); echo $html; ?> </div> </body> </html>Base de datos ejemplo:: paginar.sql
-- phpMyAdmin SQL Dump -- version 3.2.0.1 -- http://www.phpmyadmin.net -- -- Servidor: localhost -- Tiempo de generación: 03-12-2010 a las 10:56:04 -- Versión del servidor: 5.1.36 -- Versión de PHP: 5.3.0 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Base de datos: `pruebas_paginacion` -- -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `articulos` -- CREATE TABLE `articulos` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `titulo` VARCHAR(255) NOT NULL DEFAULT '', `descripcion` TEXT NOT NULL, `contenido` TEXT NOT NULL, `fecha` DATE NOT NULL DEFAULT '0000-00-00', `visible` TINYINT(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ; -- -- Volcar la base de datos para la tabla `articulos` -- INSERT INTO `articulos` (`id`, `titulo`, `descripcion`, `contenido`, `fecha`, `visible`) VALUES (1, ' Abierta de nuevo la tienda de "estilo" WordPress', 'Ya puedes encargar tus accesorios favoritos con la marca WordPress en la tienda WordPress Swag. ¿Cuantas veces has querido hacer apología de tu CMS favorito y no has podido o te has tenido que buscar la vida en tiendas locales de personalización?, pues nada, se acabó, ya tenemos lista la nueva tienda oficial.', '', '2005-10-04', 1), (2, 'Menciones de Twitter como comentarios', '¿Te quedaste huérfano con la muerte de Backtype connect?, ¿no quieres animarte con Disqus?, pues nada, puedes recuperar parte de la conversación que se va a las redes sociales con el plugin Twitter mentions as comments.', '', '2005-10-04', 1), (3, 'Pronto WordPress para Windows Phone', '¿Os acordáis que hace poco nos anunciaron que WordPress estaría disponible para otras plataformas móviles?, si, cuando se anunció WordPress para Nokia.', '', '2005-10-05', 1), (4, 'Qué es hotlinking y cómo protegerte', 'El hotlinking es quizás una de las prácticas más utilizadas y menos comprendidas por los bloggers. O sea, todos sabemos que "compartir es bueno", que "hay que enlazar" y todas esas cosas que hacen que la web sea hipertextual, hasta ahí de acuerdo.', '', '2005-10-06', 1), (5, ' Rambo usa WordPress', 'De verdad, no es coña. Silvester Stallone, Rambo, usa en su sitio oficial WordPress, con el tema iA3, ofreciendo un sitio sencillo, casi minimalista pero efectivo en lo que respecta a navegación y SEO. Personalmente habría usado otro tipo de tema más orientado a sitios de noticias y fans pero al menos en el CMS no se ha equivocado.', '', '2005-10-05', 1), (6, 'Karim Osman en WordCamp', 'Nunca es buena idea perderte una WordCamp pero este año tenemos Automattic por partida doble. Repite Zé Fontainhas, al que no descarto que adoptemos en España en un futuro cercano (jeje), pero este año se nos suma nada menos que Karim Osman, "happiness enginer" de Automattic, que nos contará las interioridades de la empresa que hace posible cada día WordPress.com.', '', '2005-10-06', 1), (7, 'Novedades de WordPress 3.1', 'Si ya te estás mordiendo las uñas por saber que nos traerá WordPress 3.1, y no quieres esperar a que nos lo cuente Zé Fontainhas en WordCamp, aquí tienes las más importantes novedades de esta versión que, si no cambia la programación, estará disponible en su versión definitiva para finales de este año o principios de 2.011.', '', '2005-10-06', 0), (8, ' WordPress y Tumblr', 'Seguro que no se te ha escapado el detalle de que WordPress está últimamente incorporando funcionalidades que hasta ahora distinguían a Tumblr.', '', '2005-10-07', 1), (9, 'Descubre a quien le gustan tus entradas', 'Ya casi es monotema hablar de WordPress.com pero es que en Automattic están desbocados últimamente con novedades, y la de hoy es - aunque parezca poca cosa - muy importante.', '', '2005-10-08', 1);Espero les sirva. atte. sergio
Editado
2
Puntos
Puntos
1085
Visitas
Visitas
11
Resp
Resp
Respuesta #1
buen aporte, se entiende bien la lógica de la paginación :P
1
Puntos
Puntos
Por alber hace 69 meses
Administrador
Respuesta #2
muchas gracias por tu comentario pienso en subir mas cositas asi para nos ayudemos entre todos con nuestro proyectos. atte. sergio
1
Puntos
Puntos
Respuesta #3
sergioalex dijo: muchas gracias por tu comentario pienso en subir mas cositas asi para nos ayudemos entre todos con nuestro proyectos. atte. sergioyeahh!
0
Puntos
Puntos
Por alber hace 69 meses
Administrador
Respuesta #4
alber dijo:gracias hay cosas que me salen facil de hacer, pero otras que no asi que dejo lo que sale facil y uds me ayudan con las que no puedo, asi nos hacemos mas facil la vida del programador..sergioalex dijo: muchas gracias por tu comentario pienso en subir mas cositas asi para nos ayudemos entre todos con nuestro proyectos. atte. sergioyeahh!
0
Puntos
Puntos
Respuesta #5
salu2
sergioalex dijo:Esa es la idea, ojalá todos pensaran igual que tú XDalber dijo:gracias hay cosas que me salen facil de hacer, pero otras que no asi que dejo lo que sale facil y uds me ayudan con las que no puedo, asi nos hacemos mas facil la vida del programador..sergioalex dijo: muchas gracias por tu comentario pienso en subir mas cositas asi para nos ayudemos entre todos con nuestro proyectos. atte. sergioyeahh!
salu2
0
Puntos
Puntos
Por alber hace 69 meses
Administrador
Respuesta #6
gracias de nuevo, mira que yo e trabajado en electrónica con personas que en forma muy literal no sabían leer y escribir, apenas y podían firmar, pero sabían tanto del campo de la electrónica que yo solo me dedica a a prender de ellos..
creo y asi entiendo que el hobre que estudia y sabe mucho de un tema en concreto y mira en menos a los demas, por que segun el no llega a su nivel de conociemiento, o no esta a su estatura academica. es un pobre tipo que desde hace mucho perdio el rumbo de lo que es saber vivir en un lugar como este, cito una palabras de un escritor, aclaro no son mias, y dice: EL HOMBRE ES UN ANGEL CON UNA SOLA ALA QUE NECESITA A OTRO PARA PODER VOLAR..
creo y asi entiendo que el hobre que estudia y sabe mucho de un tema en concreto y mira en menos a los demas, por que segun el no llega a su nivel de conociemiento, o no esta a su estatura academica. es un pobre tipo que desde hace mucho perdio el rumbo de lo que es saber vivir en un lugar como este, cito una palabras de un escritor, aclaro no son mias, y dice: EL HOMBRE ES UN ANGEL CON UNA SOLA ALA QUE NECESITA A OTRO PARA PODER VOLAR..
0
Puntos
Puntos
Respuesta #7
yo estoy muy agradecido de lo que e aprendido con los curso de el maestro zeus, y admiro su calidad de maestro y siempre lo tendré en alta estima por que una persona que da de su conocimiento a otro para que ese otro pueda crecer se mere siempre un reconocimiento especial y un lugar en el corazón siempre.. por la herencia mas grande que un hombre puede dar a sus semejante, no es dinero, riquezas, SI NO EL CONOCIMIENTO. ya que lo demás aunque sea mucho se termina, pero el conocimiento es una riqueza perpetua.
asi que MUCHAS GRACIAS POR DEDICARSE A ESTO.....
asi que MUCHAS GRACIAS POR DEDICARSE A ESTO.....
0
Puntos
Puntos
Respuesta #8
sergioalex dijo: yo estoy muy agradecido de lo que e aprendido con los curso de el maestro zeus, y admiro su calidad de maestro y siempre lo tendré en alta estima por que una persona que da de su conocimiento a otro para que ese otro pueda crecer se mere siempre un reconocimiento especial y un lugar en el corazón siempre.. por la herencia mas grande que un hombre puede dar a sus semejante, no es dinero, riquezas, SI NO EL CONOCIMIENTO. ya que lo demás aunque sea mucho se termina, pero el conocimiento es una riqueza perpetua.touche :P
asi que MUCHAS GRACIAS POR DEDICARSE A ESTO.....
0
Puntos
Puntos
Por alber hace 69 meses
Administrador
Respuesta #9
que es eso que significa touche :P
gracias
gracias
0
Puntos
Puntos
Respuesta #10
salu2
sergioalex dijo: que es eso que significa touche :Pjaja significa "sin palabras" o "nada mas que decir" o "ya esta todo dicho".. en definitiva que estoy de acuerdo con tus palabras crack
gracias
salu2
0
Puntos
Puntos
Por alber hace 69 meses
Administrador
Respuesta #11
hola crack! pásate a ver la paginación que he publicado a ver si te mola ;P https://datoweb.com/post/3068/paginacion-numeral-simple-en-php-aporte
0
Puntos
Puntos
Por alber hace 69 meses
Administrador