1. Abre una nueva base de datos e ingresa este contenido:
Código MySQL:
Ver original
-- 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 /*!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` -- -- -- Volcar la base de datos para la tabla `articulos` -- (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);
2. Crea tu index.php y copia este código. No olvides conectarlo a la base de datos:
Código PHP:
Hace tiempo necesitaba hacer una paginación y me dediqué a probar varios scripts. Encontré éste y -a pesar de que fue necesario modificarlo- me pareció el mejor debido a su sencillez y eficacia. Ver original
<!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 /* Script para paginar en PHP 2005 - Originalmente creado por Mauro Rondinelli de http://www.elguruprogramador.com.ar 2010 - Actualizado por Darío Ferrer de http://www.darioferrer.com Función para convertir caracteres a utf-8: Guillermo Pérez (@mayid). Textos de ejemplo tomados de: www.AyudaWordPress.com Copyright 2005 - 2010 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ $bd = ''; // nombre de tu base de datos $usuario = ''; // usuario de la base de datos $clave = ''; // 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; echo 'Error conectando a la base de datos.'; } echo 'Error seleccionando la base de datos.'; } return $link; } function codif($in_str) { /* Función para convertir a utf-8 en caso necesario, por Guillermo Pérez (@mayid) */ return $in_str; else } $db = conectar(); $html = null; $paginador = null; if (!$pagina) { $inicio = 0; $pagina = 1; } else $inicio = ($pagina - 1) * $registros; $resultados = mysql_query('SELECT * FROM articulos WHERE visible = 1 ORDER BY fecha ASC LIMIT '. $inicio .' , '. $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; $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; echo $html; ?> </div> </body> </html>