Paginación de resultados con PHP

Cuando tenemos muchos registros y no queremos mostrar una lista de registro muy larga podemos usar paginación para mostrar los resultados de la consulta en distintas páginas.

En muchas ocasiones, cuando se presentan en una página web registros de una base de datos, se deberían mostrar demasiados registros como para colocarlos todos en una única página. En estas ocasiones se suele paginar los resultados, quizás cientos, en distintas páginas con conjuntos de registros mucho menos numerosos. Por ejemplo, podríamos presentar los resultados en páginas de 10 elementos o 20, dependiendo de nuestras intenciones y el tipo de datos que se estén presentando. Este efecto lo habremos podido observar repetidas veces en los buscadores.

Para realizar este script es necesario trabajar con PHP y MySQL.

En el ejemplo que vamos a ilustrar mostramos el número total de registros que vamos a procesar, de los cuales mostraremos solo 10 registros en cada página y siempre mostramos el número de página en el que estamos y el total.

Los links de paginación se pueden poner arriba o abajo pero hemos preferido situarlo abajo por lógica de programación.

Para implementar lo que estamos comentando lo primero que debemos hacer es conectar con la base de datos que vamos a tratar.

Realizamos la consulta:

$consulta_noticias = "SELECT * FROM noticias";
$rs_noticias = mysql_query($consulta_noticias, $con);
$num_total_registros = mysql_num_rows($rs_noticias);

En el ejemplo queremos paginar todas las noticias publicadas de un sitio Web. En la tercera línea estamos obteniendo el número total de registros para más adelante saber  cuantas páginas se van a necesitar.

Si esta consulta tiene registros, procedemos a montar todo lo necesario para realizar la paginación:

//Limito la busqueda
$TAMANO_PAGINA = 10;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
   $inicio = 0;
   $pagina = 1;
}
else {
   $inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
//calculo el total de páginas
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);

Utilizamos la variable $TAMANO_PAGINA para guardar el límite de la búsqueda, es decir, la cantidad de registros a mostrar en cada página. Lo que sigue estamos capturando la página en la que estamos para mostrar los registros que toquen.

A continuación, ejecutaríamos la query que variará en cada página, por ejemplo:

$consulta = "SELECT idNoticia, titulo FROM noticias ORDER BY fecha_insercion DESC LIMIT ".$inicio."," . $TAMANO_PAGINA;
$rs = mysql_query($consulta, $con);
while ($row = mysql_fetch_array($rs)) {
   //Aqui mostrariamos los datos que se quieran sobre la noticia
}

Si nos fijamos en la query anterior vemos que queremos mostrar las noticias ordenadas por fecha de publicación limitando la busqueda de la página en la que estemos hasta el tamaño de la página que marcamos inicialmente con 10 registros.

Después solo queda mostrar la paginación:

if ($total_paginas > 1) {
   if ($pagina != 1)
      echo '<a href="'.$url.'?pagina='.($pagina-1).'"><img src="images/izq.gif" border="0"></a>';
      for ($i=1;$i<=$total_paginas;$i++) {
         if ($pagina == $i)
            //si muestro el índice de la página actual, no coloco enlace
            echo $pagina;
         else
            //si el índice no corresponde con la página mostrada actualmente,
            //coloco el enlace para ir a esa página
            echo '  <a href="'.$url.'?pagina='.$i.'">'.$i.'</a>  ';
      }
      if ($pagina != $total_paginas)
         echo '<a href="'.$url.'?pagina='.($pagina+1).'"><img src="images/der.gif" border="0"></a>';
}

Para entender o ver de lo que se está hablando lo mejor es ver un ejemplo en funcionamiento.

Descargar

Autor
Escrito por Jose Aguilar - Experto programador Prestashop y Wordpress.
Te ha servido? Valora esta entrada!
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (35 votos, promedio: 4,17 de 5)
Cargando…
Comparte en las redes sociales

101 respuestas a “Paginación de resultados con PHP”

  1. alan dice:

    m,y buen aporte, no sabes el quebradero de cabeza que estaba teniendo con esto de la paginacion me funciono en segundo gracias!

  2. Danny Altrogge dice:

    Hello There. I discovered your blog the usage of msn. This is a really smartly written article. I will be sure to bookmark it and return to learn more of your useful info. Thank you for the post. I will certainly comeback.

  3. Daniel Báez dice:

    Gracias Jose, sencillo y preciso, te felicito!!! muy buen blog

  4. ayose dice:

    Hola, estupenda información pero como se podria poner para que saliera el indice de esta manera:

    1.2.3….14.15.16.

    Gracias y un saludo.

    • Javier García dice:

      Después de

      if ($pagina != 1)

      cambiar la etiqueta por una lista con estilos css, así lo hice yo:

      if ($pagina != 1)
      echo ‘ << ‘;

      for ($i=1;$i<=$total_paginas;$i++) {
      if ($pagina == $i)
      //si muestro el �ndice de la p�gina actual, no coloco enlace
      echo " {$pagina} “;
      else
      //si el �ndice no corresponde con la p�gina mostrada actualmente,
      //coloco el enlace para ir a esa p�gina
      echo ‘ ‘.$i.’ ‘;

      }
      if ($pagina != $total_paginas)
      echo ‘ >> ‘;

      Gracias por la explicación, muy clara y al punto.

  5. Luis Hillon dice:

    Genial, fácil y efectivo.

  6. carlospe dice:

    buen aporte amigo pero estoy tratando de hacer un catalogo para una tienda online y me preguntaba si se podrá adaptar para lo que yo quiero y como podría hacerlo

    • Jose Garcia dice:

      Amigo este tutorial de paginacion se adapta a cualquier proyecto.. la unica deficiencia es que no marca 123…293031…200

  7. futmx dice:

    Excelente, muy bien aporte, me has ayudado mucho.

  8. Ezequiel dice:

    disculpa me puedes decir de donde sale esto $pagina = $_GET[“pagina”];
    me marca un error, me dice: Undefined index

  9. Marc dice:

    Muchas gracias por el tutorial! Me ha ido super bien! 🙂

  10. Junior dice:

    Hola te queria pregunta es un problema con el lo ultimo al hacer el menu de la paginacion cuando doy a siguiente o a otro numero se me empieza a duplicar en la url el: ?pagina=1?pagina=2?pagina=3 y asi todo el tiempo sabes por que sera? gracias por adelantado.

    • Jose Aguilar dice:

      Si, algo estás haciendo mal con la variable $pagina. Revísate el tutorial

    • Jose Garcia dice:

      HOla debe acegurarte que en la url le agregues esto: url?pagina=’1’&bla bla bla debes tener en cuenta que la siguiente pagina no tome la url de la anterior porque tu problema radica en que la url esta tomando la url anterior en la siguente… un saludo..

  11. Ana dice:

    Hola,
    en la parte final no se qué estoy haciendo mal, porque me dice que no encuentra la página siguiente al intentar pasar a cualquier otra página.
    La url está bien, no se qué estoy haciendo mal 🙁

    Un saludo y gracias por anticipado.

  12. Musiker dice:

    Hola José Aguilar, gracias por el código, pero en mi caso me muestra todo (es decir, número de registros, número de páginas etc) pero no muestra los propios resultados. En mi caso no son enlaces, sino números o palabras. ¿Por qué puede ser?

    Gracias por adelantado

  13. Vellenger dice:

    Muchas Gracias..
    Justo lo que que necesitaba…
    lo probe y funciona perfecto..

  14. Richard dice:

    Si van a usar esto, editenlo hasta el punto de no tener fugas en la paginación, jose aguilar con ese ejemplo puede ser vulnerada tu pagina web, tiene un hueco gigantisimo de seguridad y manteniendolo en tu web, tu web tambien lo tiene, retiralo antes de que venga un troll y te dañe tu web 🙂 saludos!

  15. Francisco dice:

    ¿A qué hueco de seguridad se refiere Richard?

  16. Ernesto dice:

    Mil gracias!!!! No sabes cómo me salvaste las papas, ja.
    Abrazo.

  17. Carlos dice:

    Buenas tardes, he hecho todos los pasos descritos en la web y al buscar, me muestra los primeros 10 resultados, me pone el numero de paginas que tendria la web de manera correcta pero al pasar de página no me muestra ningun resultado, me muestra la web como si no hubiera buscado nada.

    ¿Alguien sabe donde estaria el fallo?

    Un saludo y gracias por el tutorial

  18. EdoCL dice:

    EXCELENTE APORTE!!!
    Busqué por varias páginas, pero la tuya fue la más clara.

    Muchas gracias por el tiempo dedicado!

    Saludos!

  19. CIMO dice:

    Excelente post, Ademas la estructura de tu codigo es muy entendible. Gracias por compartirlo 😉

  20. Ángel dice:

    ¡Muchas gracias, ha sido de gran ayuda y una solución fácil de entender!

  21. juve dice:

    tengo un problema el código me funciona pero me sale el error Undefined variable: url y no encuentro el error

  22. Lorenzo dice:

    Gracias por tu aporte me facilito el adaptarlo a MS SQL Server.
    Muchas Gracias..!!

  23. Pablo dice:

    Hola, excelente post. Tengo un problema. Al hacer la prueba en la raiz de la web no hay problema ninguno. Muestra los resultados paginados sin problema.

    Cuando quiero hacerlo en /pagina-de-prueba

    no funciona, la url cambia para /pagina-de-prueba?pagina=2
    pero no cambia el resultado mostrado sigue siendo lo mismo.

    alguna solución?

    he probado definiendo la variable url de dos formas

    $url = “http://www.miwebsite.com/pagina-de-prueba”;
    $url = “/pagina-de-prueba”;

    y no me funciona con ninguna.

    Help me please

  24. Kristopher Simbeck dice:

    Hola,

    mucho gusto y antes que nada felizidades por el trbajo que relizar en el tema de programacion,

    pero ahora me apoyo de ti para saber si me puedes sacar de un aporo y es que no he logrado el metodo de paginar este script:

    tabla.php

    $row[‘Codigo_de_Sistema’],
    ‘Proyecto’ => $row[‘Proyecto’],
    ‘Fecha_de_operacion_Inicio’ => $row[‘Fecha_de_operacion_Inicio’],
    ‘Fecha_de_operacion_Fin’ => $row[‘Fecha_de_operacion_Fin’],
    ‘Tickets_Emitidos’ => $row[‘Tickets_Emitidos’],
    ‘Tickets_Cobrados’ => $row[‘Tickets_Cobrados’],
    ‘Importe_Total_Cobrado’ => $row[‘Importe_Total_Cobrado’],
    ‘Tickets_Cortesia’ => $row[‘Tickets_Cortesia’],
    ‘Ticket_Promedio’ => $row[‘Ticket_Promedio’]
    );
    }
    echo json_encode($datos);
    }

    ?>

    js.js)

    // JavaScript Document
    var ordenar = ”;
    $(document).ready(function(){

    // Llamando a la funcion de busqueda al
    // cargar la pagina
    filtrar()

    var dates = $( “#del, #al” ).datepicker({
    yearRange: “-50”,
    defaultDate: “+1w”,
    changeMonth: true,
    changeYear: true,
    onSelect: function( selectedDate ) {
    var option = this.id == “del” ? “minDate” : “maxDate”,
    instance = $( this ).data( “datepicker” ),
    date = $.datepicker.parseDate(
    instance.settings.dateFormat ||
    $.datepicker._defaults.dateFormat,
    selectedDate, instance.settings );
    dates.not( this ).datepicker( “option”, option, date );
    }
    });

    // filtrar al darle click al boton
    $(“#btnfiltrar”).click(function(){ filtrar() });

    // boton cancelar
    $(“#btncancel”).click(function(){
    $(“.filtro input”).val(”)
    $(“.filtro select”).find(“option[value=’0′]”).attr(“selected”,true)
    filtrar()
    });

    // ordenar por
    $(“#data th span”).click(function(){
    var orden = ”;
    if($(this).hasClass(“desc”))
    {
    $(“#data th span”).removeClass(“desc”).removeClass(“asc”)
    $(this).addClass(“asc”);
    ordenar = “&orderby=”+$(this).attr(“title”)+” asc”
    }else
    {
    $(“#data th span”).removeClass(“desc”).removeClass(“asc”)
    $(this).addClass(“desc”);
    ordenar = “&orderby=”+$(this).attr(“title”)+” desc”
    }
    filtrar()
    });
    });

    function filtrar()
    {
    $.ajax({
    data: $(“#frm_filtro”).serialize()+ordenar,
    type: “POST”,
    dataType: “json”,
    url: “/Nueva_Pagina/Acosta_Verde/Resultados/Tabla_Resultados_Plaza las Torres Cd Juarez.php?action=listar”,
    success: function(data){
    var html = ”;
    if(data.length > 0){
    $.each(data, function(i,item){
    html += ”
    html += ”+item.Fecha_de_operacion_Inicio+”
    html += ”+item.Proyecto+”
    html += ”+item.Tickets_Emitidos+”
    html += ”+item.Tickets_Cobrados+”
    html += ”+item.Importe_Total_Cobrado+”
    html += ”+item.Tickets_Cortesia+”
    html += ”+item.Ticket_Promedio+”
    html += ”;

    });
    }
    if(html == ”) html = ‘No se encontraron registros..’
    $(“#data tbody”).html(html);
    }
    });
    }

    en el index.php he insertado:

    Fecha
    Proyecto o Estacionamiento
    Tickets Emitidos
    Tickets Cobrados
    Importe Total Cobrado
    Tickets Cortesia
    Ticket Promedio

    Todo sale muy bien me da los resultados y el filtro si se aplica correctamente el tema es que la paginación no funciona adecuadamente.

    Por lo que reitero la solicitud de tu apoyo.

    Agradeciéndote infinitamente

    Kristopher Simbeck De México

  25. jhampoll dice:

    me podrías explicar donde defino la variable búsqueda

    Notice: Undefined variable: pagina

    • Jose Aguilar dice:

      Puedes definirla inicialmente con valor null o vacío en el caso de que no exista el parámetro en la url, es decir, $_GET[‘pagina’]

  26. jhampoll dice:

    pagina

  27. Marcelo P dice:

    Mil gracias !!! solo es remplazar codigo, cambiar direccion de imagen de las flechas, yo personalmente le agregue la variable $url=”miPagina.php”; MUCHAS GRACIAS

  28. pedro dice:

    buenas jose una pregunta ese codigo solo se utiliza con php o hay que incluir ajax?

  29. Josue dice:

    hola oye me marca erro tu codigo en esta pare:

    $query_num_ratings = mysql_query(“SELECT COUNT(*) as num FROM services_rating WHERE rating_id=”.$row_services[‘service_id’], $conexion);
    $num_ratings = mysql_result($query_num_ratings, 0, “num”);

    $query_sum_ratings = mysql_query(“SELECT SUM(rating_num) as sum FROM services_rating WHERE rating_id=”.$row_services[‘service_id’], $conexion);

    espero me puedas ayudar o asesorar vale muchas gracias.

  30. gabriel vazquez dice:

    a este script se le podria adaptar que los resultados sean 123…20?

    saludos

  31. Guillermo dice:

    Hola José, voy a utilizar tu ejemplo para hacer una consulta.
    Ya tengo la paginación, el problema es que cuando google entra en un articulo que tengo paginado, en tu ej. seria “Toggle Content”, quiero tener un link para ir a la pagina donde se encontraría “Toggle Content”. Supongamos que es la 7.
    Como hago para saber en que pagina está el registro o articulo “Toggle Content” para armar el link a la paginación. (Como se que está en la 7)
    Quiero saber en que pagina cae el articulo, luego armo el link a esa pagina.
    Esto es para google porque el usuario puede usar el back.

  32. Gonzalo dice:

    Excelente José!! una vez más me ahorraste un montón de tiempo. Te felicito y muchas gracias. Saludos

  33. pablo dice:

    Hola, te hago una consulta, probé tu script y funciona muy bien, sin embargo cuando uso url amigables, no funciona, me muestra siempre la primera pagina, porque puede ser?

  34. Jesus Bolivar dice:

    Hola porfavor podrias ayudarme, estoy haciendo una tienda virtual y quiero hacer una paginacion para los productos de mi tienda, hasta ahora he hecho el codigo al pie de la letra como tu lo posteas pero el problema es que no se que colocar en el $_GET[] en tu caso es pagina pero en mi caso es algo como

    ?section=catalogo pero me dice undefined index y no se que hacer. Esa url que tengo esta en un servidor xampp y la obtengo de esa forma porque utilize un switch en mi index dentro de mi etiqueta section para hacer el contenido dinamico, el codigo del switch es algo asi:

    <?php
    if (! isset($_GET['section'])){
    include('inicio.php');
    }else{
    $section= $_GET['section'];
    switch($section){
    case 'inicio':
    include('inicio.php');
    break;
    case 'quienes_somos':
    include('quienes_somos.php');
    echo "document.title=’.:Quienes Somos:.’;”;
    break;
    case ‘catalogo’:
    include(‘catalogo.php’);
    echo “document.title=’.:Cata\u0301logo:.’;”;
    break;
    case ‘contactanos’:
    include(‘contactanos.php’);
    echo “document.title=’.:Conta\u0301ctanos:.’;”;
    break;
    default:
    include(‘inicio.php’);
    break;
    }
    }
    ?>

  35. Victor Manuel dice:

    Muchas gracias por el tutorial muy bueno y me sirvio saludos

  36. genesis dice:

    gracias por la información es muy buen he estado buscando por todos lados y me alegro de haber llegado a tu pagina solo tengo la siguiente inquietud y desesperación espero que por favor me ayudes con esto…

    cuando sigo tu codigo me sale error en la parte de :

    $pagina=$_GET[“pagina”]; no se que hace ahi

    y lo otro

    es que solo me muestra las 10 primera pero cuando le doy siguiente no me salen las demas

    ayudaaaaaa

  37. k dice:

    tengo el siguiente problema :
    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\prueba.php on line 36
    1
    Notice: Undefined variable: url in C:\xampp\htdocs\prueba.php on line 50
    2
    Notice: Undefined variable: url in C:\xampp\htdocs\prueba.php on line 53

    que es lo que hago mal??

    • Jose Aguilar dice:

      Hola buenas tardes,

      Vemos que en el código del ejemplo falta definir la url. En el caso del ejemplo:
      $url = “http://www.jose-aguilar.com/scripts/php/paginacion/index.php”;

      En tu caso tendrás que poner la ruta completa + prueba.php

      Saludos

  38. Gustavo dice:

    Buenas, no he entendido el tema de la pagina = $_GET[‘pagina’] me sigue mostrando el error: Undefined index: pagina
    es el unico error que me muestra el codigo, podrian darme una explicación sencilla sobre el tema?

  39. Gustavo dice:

    Hello!!
    realice el siguiente cambio y me funciona OK!
    $pagina = “”;

    if(isset($_GET[“pagina”])){
    $pagina = (int)$_GET[“pagina”];
    }

    if ($pagina ==0 || $pagina==”” ){
    $inicio= 0;
    $pagina= 1;
    }else{
    $inicio =($pagina -1) * $TAMANO_PAGINA;
    }

  40. jose perez dice:

    como puedo darle estilo a los numeros de las paginas (1,2,3 etc) y a las flechas? porque le aplico css a los numeros pero nada que puedo cambiar la posicion de los mismos

    • Jose Aguilar dice:

      hola, para añadirle estilo a los números antes deberás añadirle al enlace el atributo class=”number” por ejemplo:

      a href=”#” class=”number” rel=”nofollow”

      y luego en la hoja de estilo:

      a.number {
      color: red;
      }

      Saludos

  41. saul dice:

    hola como puedes mostrar el numero de paginas en 10 en 10 e ir aumentando en tu ejemplo se muestran de 1,2,3,4,5,6… hasta 16 pero al tener 32 se muestran 1,2,3,4,5…32 te imaginas si tengo 100 como le puedo hacer para hacerlo mas practico

    • Jose Aguilar dice:

      Si, es posible, solo tienes que modificar un poco el código condicionando los enlaces a mostrar cuando superen x páginas.

      • Williams A. dice:

        Hola Jose, buenas tardes… oye me encanto tu post y me esta ayudando bastante. quisiera saber si podrias ayudarme con una cosita mas. como haces para linkear el contenido que muestra cada pagina como lo hiciste en el ejemplo en funcionamiento? si se supone que el contenido lo muestra con un while, como hiciste para crear un id linkeado en cada registro consultado con el que redireccionas al darle click, sin que al darle click te redireccione al ultimo id como resultado del while. espero hayas entendido la pregunta y espero puedas ayudarme 😉

        • Jose Aguilar dice:

          Hola, es lo último que explico en el post. El tema de la paginación. Tan solo debes hecharle un vistazo más detenidamente al código y verás que lo acabarás entendiendo. Estamos como dividiendo en partes el resultado del while. La clave del asunto está en el uso de LIMIT en la consulta. Si te queda claro siempre puedes enviarnos un email a blog@jose-aguilar.com donde podemos llegar a un acuerdo para planificar una explicación más personalizada. Saludos

      • saul dice:

        pero no logro hacerlo aunque la idea es de 10 en 10 o sea
        si es la segunda pagina la numeracion es 2,3,4,5,6,7,8,9,10,11
        si es la tercera pagina seria asi 3,4,5,6,7,8,9,10,11,12

        eso es lo que trato de hacer pero no puedo, alguien que pueda ayudarme??

  42. Carmela dice:

    Undefined index: pagina

  43. Lorena Ramirez dice:

    Mil gracias, me fue de gran ayuda. Ya tenia un sistema en funcionamiento y actualice el wamp y se me daño la paginación que tenia. Este codigo me funcionó perfectamente 😀

  44. Chiara dice:

    Hola josé,
    Muchas gracias por compartir el codigo, funciona de maravillas y esta perfectamente explicado.
    Te hago una consulta nomas, estoy tratando de adaptarlo para que los resultados aparezcan en 4 columnas pero no logro hacerlo, siempre me queda un resultado debajo del otro ya sea que use tablas o listas.
    Tendras algun ejemplo de como encolumnar el resultado???
    Ej, que quede una grilla de 4×4 en cada pagina, no uno debajo del otro.
    Muchisimas gracias
    Saludos y que tengas muy buen dia
    Chiara

  45. Sergio dice:

    En esta parte me da problemas
    “$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);”
    por que si tengo digamos 13 campos y mi variable $TAMANO_PAGINA vale 5, el resultado es 2, con residuo de 3, por lo tanto no me muestra el número con la página que contiene los últimos 3 elementos.

    • nacho dice:

      En principio al utilizar ceil no debería darte ese problema puesto que redondea hacia arriba el valor más cercano, por lo tanto si cuentas con 13 registros y sólo dejas 5 registros por cada página, el resultado de dividir 13/5 sería 2,6 por tanto debe redondear a 3 páginas.

      Muy bien explicado Jose, me ha ayudado mucho.

  46. Pedro dice:

    Gracias José, Me ha ayudado muchisimo, sigue así…

  47. Claus dice:

    me da el valido xD
    gracias sufri mucho por encontrar algo bien explicado te lo agradezco muchisimo!!!

  48. eduardo genud dice:

    bien pelao..

  49. Rafael dice:

    Buenas, muy buen aporte.
    Pero si cargo los resultados en un div luego el panel de navegacion me redirije a una pagina en blanco en la que carga los resultados, me gustaria que siguiese en el div, alguna ayudita? 😮

  50. Andy dice:

    Hola José llevo tiempo estudiando por mi propia cuenta y todo lo que he aprendido fue leyendo libros viejos porque ni internet tenia, En mis quebraderos de cabeza logre hacer un paginado sin mirar ningún ejemplo, como digo yo un paginado de piedra, bien rustico y tosco pero que al final me funciono, por otro lado tiene el doble de código que el tuyo, Ahora que veo el tuyo y lo simple que es hacerlo te doy las gracias por eso. Ahora estoy incursionando en la POO y en los frameworks en PHP y MySQL si puedes sugerirme video tutoriales o libros te lo agradecería. De casualidad tienes una versión de este paginador en POO?? Saludos desde Cuba.

  51. Sergio dice:

    Buenos días, mil gracias por el aporte.

    En lugar de imprimir 10 registros por página imprime todos los registros de la BD. 111 en total.

    A parte la paginación siempre esta en el uno (1), 2, 3, 4, 5, 6… no me deja avanzar página, en cambio en la url si me detecta la id (paginas.php?pagina=2,3,4,5…).

    Por decirle algo más no me da ningún error, ni en la consulta, ni variables no definidas o de sintaxis.

    Gracias de nuevo!!

  52. luis ramirez dice:

    buenas noches excelente aporte.. una pregunta te dejo si quisiera agregarle un select .. como seria??
    saludos

  53. oswldo dice:

    hola buen aporte muchas gracias!, te queria hacer la pregunta si tienes una paginacion con letras y numeros

  54. aninimo dice:

    Como lo uso? 🙁

  55. Carlos Gil dice:

    Hey te pasaste mil gracias por quitarme un dolor de cabeza, graciasss….

  56. alex dice:

    Excelente explicacion sr. Aguilar.

    Saludos!

  57. Margarita dice:

    Hola, muchas gracias por tu aporte, me está siendo de utilidad, pero tengo un problema y es que me muestra bien la primera página de paginación, pero cuando intento acceder a las demás me da un error 404. La página donde muestro la paginación es un template. Cómo puedo hacerlo?

  58. luis dice:

    una pregunta donde se encuentran la base de datos

    • Jose Aguilar dice:

      Hola buenos días,

      La base de datos la debes crear en tu servidor. Lo que te puede facilitar es el código de creación de la tabla que se usa en el ejemplo que es la siguiente:

      CREATE TABLE `noticias` (
      `idNoticia` int(10) NOT NULL,
      `seccion` int(10) NOT NULL,
      `titulo` varchar(75) NOT NULL,
      `resumen` text NOT NULL,
      `cuerpo` text NOT NULL,
      `metadescripcion` text NOT NULL,
      `keywords` varchar(255) NOT NULL,
      `imagen` varchar(75) NOT NULL,
      `lecturas` int(10) NOT NULL,
      `fecha_insercion` datetime NOT NULL,
      `fecha_modificacion` datetime NOT NULL,
      `destacado` int(10) NOT NULL
      ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

  59. Javier Eduardo dice:

    Hola.
    Tengo un error en cuanto a los registros de la BD, ya puse los numeros para la paginacion pero la tabla no se divide, se queda tal y como esta, ¿que debo hacer?

  60. Daniel dice:

    y como hacemos para que no muestre las 16 paginas sino que valla mostrando digamos de 5 en 5

  61. Carloss Enrique Mercado Poveda dice:

    Jose gracias por tu publicacion me has salvado un resto, tengo el problema cuando he traido los valores de la base de datos filtrados por una categoria especifica, me sale el resultado en la primera pagina, pero en la segunda se pierde el filtro, que puedo hacer? gracias

  62. Andres dice:

    Me sirvió amigo gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Ver más sobre