Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 5 de 5

Tema: Problema con paginacion en php

  1. #1
    Recien Llegado! Habitual
    Fecha de Ingreso
    19 jun, 12
    Mensajes
    14
    Poder de Reputación
    12

    Problema con paginacion en php

    Saludos a todos, mi problema es que al intentar hacer una paginacion en php, siguiendo una guia de una pagina, los resultados se muestran correctamente pero no se muestras los links de navegacion (<<Anterior,Siguiete>>).

    Aqui le dejo el codigo:

    Código PHP:
    <?php
    include_once("config.php");
    $cant_reg=7;  //numero de registros
    $num_pag=$_GET['pag']; //numero de pagina actual

    if (!$num_pag)
     {
        
    $comienzo=0;
        
    $num_pag=1
     }
     else
     {
        
    $comienzo=($num_pag-1)*$cant_reg
     }


    $conexion=mysql_connect($server,$db_user,$db_pass) or
             die (
    "Problemas de conexion");
    mysql_select_db($db,$conexion) or
       die (
    "Problemas en la seleccion de la base de datos");

    $resultado=mysql_query("SELECT COUNT(*)FROM portada");
    $total_reg=mysql_num_rows($resultado);
       
    $resultado=mysql_query("SELECT TITULO,TEXTO FROM portada ORDER BY ID DESC LIMIT $comienzo,$cant_reg",$conexion);

    $total_paginas=ceil($total_reg/$cant_reg);

    while(
    $reg=mysql_fetch_array($resultado))
    {
        echo 
    $reg['TITULO'];
        echo 
    "<br><br>";
        echo 
    $reg['TEXTO'];
        echo 
    "<br><br><hr><br>";
    }

    mysql_close($conexion);

    if((
    $num_pag&#8211;1) > 0)
        
    {
            echo 
    "<a href='paginacion.php?pagina=".($num_pag-1)."'>< Anterior</a>";
        }


    for (
    $i=1$i<=$total_paginas$i++)
        {
            if (
    $num_pag == $i)
                {
                    echo 
    "<b><p class='style1′>Página ".$num_pag."</b>";
                }
            else
                {
                    echo 
    "<a href='paginacion.php?pagina=".$i."'>".$i."</a> ";
                }
        }


    if((
    $num_pag 1)<=$total_paginas)
        {
            echo 
    "<a href='paginacion.php?pagina=".($num_pag+1)."'>Siguiente ></a>";
        }
    ?>
    y la pagina mostrandoe l codigo, para que tengan mas claro el problema: http://acciongamers.com/paginacion.php

    Espero puedan ayudarme, gracias.
    Última edición por Cuack; 02/08/2012 a las 02:16
    ¿Te gustan los videojuegos?: http://acciongamers.com/

  2. #2
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    05 mar, 10
    Mensajes
    844
    Poder de Reputación
    20
    Hola Cuack este lo e echo yo si te bale usalo porque los escripts que pilles por hay tienen muchos fallos o hay que camviarles muchas cosas

    este funciona me costo bastante hacerlo si tienes alguna duda ya saves

    Código PHP:
    <?php
    $base
    ="tu base";
    $con=mysql_connect("localhost","tu usuario","tu contraseña");mysql_select_db($base,$con);
    if( isset( 
    $_GET['pagina'] ) && is_numeric$_GET['pagina'] ) )$pagina $_GET['pagina'];
    else
    $pagina 0;$cantidad 7;
    $inicial $pagina $cantidad;
    $pegar "SELECT * FROM tabla ORDER BY ID DESC LIMIT $inicial,$cantidad";
    $cad mysql_db_query($base,$pegar) or die (mysql_error());
    $contar "SELECT * FROM tabla ORDER BY ID DESC"$contarok mysql_db_query($base,$contar);
    $total_records mysql_num_rows($contarok)/7;
    $pages intval($total_records $cantidad)/10000;
    while(
    $array mysql_fetch_array($cad)) {
    echo 
    "<div id='total'>"."<div id='1'>".$array['campo']."</div>"."<div id='2'>".$array['campo']."</div>"."<div id='3'>".$array['campo']."</div>"."<div id='4'>".$array['campo']."</div>"."</div>"."<br /><br /><br />";

    $con=mysql_close($con);
    echo 
    "<p class=fuente>";
    if (
    $pagina != 0) { 
    $url $pagina 1
    echo 
    "<a href='$PHP_SELF?pagina=".$url."'>&laquo; Anterior</a>&nbsp;"
    } else { 
    echo 
    " "
    } for (
    $i 0
    $i <= $pages$i++) { 
    if (
    $i == $pagina) { 
    if (
    $i == "0") { 
    echo 
    "<b></b>"
    } else { 
    $i $i*1
    echo 
    "<b> ".$i." </b>"

    } else { 
    if (
    $pages+$pages1+$pages2+$pages3+$pages4+$pages5) { 
    echo 
    "<div id='paginador'>"."<a href=$PHP_SELF?pagina=".$i."></a>&nbsp;<ul><li><a href=$PHP_SELF?pagina=1".$pages1.">1</a></li>&nbsp;<li><a href=$PHP_SELF?pagina=2".$pages2.">2</a></li>&nbsp;<li><a href=$PHP_SELF?pagina=3".$pages3.">3</a></li>&nbsp;<li><a href=$PHP_SELF?pagina=4".$pages4.">4</a></li>&nbsp;<li><a href=$PHP_SELF?pagina=5".$pages5.">5</a></li></ul>...16"."</div>"//puedes modificar ...16 quitarlo o poner lo que desees
    } else { 
    echo 
    "<a href='$PHP_SELF?pagina=".$i."'>"
    $i $i*1
    echo 
    $i."</a>&nbsp;"



    if (
    $pagina $pages+16) { 
    $url $pagina 1
    echo 
    "<a href='$PHP_SELF?pagina=".$url."'>Siguiente &raquo;</a>"
    } else { 
    echo 
    " "

    echo 
    "</p>"
    ?>
    Última edición por francisco1; 02/08/2012 a las 20:26

  3. #3
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    05 mar, 10
    Mensajes
    844
    Poder de Reputación
    20
    mira este es mas sencillo que el anterior y lo podras modificar a tu gusto un saludo

    Código PHP:
    <?php
    $base 
    "tu base";$con=@mysql_connect("localhost""tu usuario""tu contraseña"); @mysql_select_db($base,$con);
    if( isset( 
    $_GET['index'] ) && @is_numeric$_GET['index'] ) ) 
    // $index es la pagina actual 
    $index $_GET['index'];
    else 
    $index 0;  
    $cantidad 7// cantidad de resultados por página  
    $inicial $index $cantidad
    $pegar "SELECT * FROM tu tabla ORDER BY ID DESC LIMIT $inicial,$cantidad"
    $cad = @mysql_db_query($base,$pegar) or die (@mysql_error());
    $contar "SELECT * FROM tu tabla ORDER BY ID"$contarok= @mysql_db_query($base,$contar);$total_records = @mysql_num_rows($contarok); 
    $pages = @intval($total_records $cantidad); 
    // Imprimiendo los resultados 
    while($array = @mysql_fetch_array($cad)) { 
    echo 
    $array['campo']. $array['campo']. $array['campo']. $array['campo']."<br>";

    // Cerramos la conexión a la base 
    $con = @mysql_close($con); 
    // Creando los enlaces de paginación 
    echo "<p class=fuente>"
    if (
    $index != 0) { //nota de 0 a 1 
    $url $index 1
    echo 
    "<a href='$PHP_SELF?index=".$url."'>&laquo; Anterior</a>&nbsp;"
    } else { 
    echo 
    " "
    } for (
    $i 0$i <= $pages
    $i++) { 
    if (
    $i == $index) {
    if (
    $i == "0") { 
    echo 
    "<b> </b>"
    } else { 
    $i $i+1
    echo 
    "<b> ".$i." </b>"

    } else { 
    if (
    $i == "0") { 
    echo 
    "<a href=$PHP_SELF?index=".$i.">0</a>"
    } else { 
    echo 
    "<a href='$PHP_SELF?index=".$i."'>"
    $i $i+0
    echo 
    $i."</a>&nbsp;"



    if (
    $index $pages) { 
    $url $index 1
    echo 
    "<a href='$PHP_SELF?index=".$url."'>Siguiente &raquo;</a>"
    } else { 
    echo 
    ""
    } echo 
    "</p>"?>
    Última edición por francisco1; 02/08/2012 a las 23:21

  4. #4
    Recien Llegado! Habitual
    Fecha de Ingreso
    19 jun, 12
    Mensajes
    14
    Poder de Reputación
    12
    Hola francisco.

    El codigo funciona perfectamente, en los escripts se hay un pequeño problemita con los numeros, pero andan bien.

    Te lo agradesco mucho.
    ¿Te gustan los videojuegos?: http://acciongamers.com/

  5. #5
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    05 mar, 10
    Mensajes
    844
    Poder de Reputación
    20
    Código PHP:

    if ($pages+$pages1+$pages2+$pages3+$pages4+$pages5) { 
    echo 
    ""."<a href=$PHP_SELF?pagina=".$i."></a>&nbsp;<a href=$PHP_SELF?pagina=1".$pages1.">1</a>&nbsp;<a href=$PHP_SELF?pagina=2".$pages2.">2</a>&nbsp;<a href=$PHP_SELF?pagina=3".$pages3.">3</a>&nbsp;<a href=$PHP_SELF?pagina=4".$pages4.">4</a>&nbsp;<a href=$PHP_SELF?pagina=5".$pages5.">5</a> ...16".""
    el primer escript el problema con los numeros son los divisores los espanden clicas el 1 y se va hacia el dos haora esta bien pero sin divis y el escript numero 2 lo deves adaptar a tu gusto tiene un pequeñito fallo clicas en la pagina 1 y marca en negrita la pagina 2 etc etc pero eso tocando un poco el codigo se puede solucionar un saludo
    Última edición por francisco1; 04/08/2012 a las 00:19

Temas Similares

  1. Ayuda con Paginacion PHP
    Por Cuack en el foro Foro General
    Respuestas: 6
    Último Mensaje: 23/08/2012, 16:04
  2. Problema con PHP (paginación)
    Por necklen en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 1
    Último Mensaje: 03/08/2012, 15:39
  3. Paginacion de videos
    Por SDN en el foro Foro General
    Respuestas: 3
    Último Mensaje: 25/12/2011, 18:28

Etiquetas para este Tema

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •