Foros del Web » Programando para Internet » PHP »

paginacion php mysql

Estas en el tema de paginacion php mysql en el foro de PHP en Foros del Web. Código PHP: <? if(! defined ( "flash_script" )) die( "Error" ); //Cantidad de Noticias por Pagina ////     $ExP  =  5 ;                            // ////////////////////////////////////// $Sec  =  intval ( $_GET [ 'sec' ]); ...
  #1 (permalink)  
Antiguo 27/11/2008, 04:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 17
Antigüedad: 15 años, 8 meses
Puntos: 0
paginacion php mysql

Código PHP:
<?

if(!defined("flash_script")) die("Error");

//Cantidad de Noticias por Pagina ////    
$ExP 5;                           //
//////////////////////////////////////

$Sec intval($_GET['sec']);
$Des $ExP $Sec;

    
$select_news M_Query("SELECT id, name, descg, img_dir, tipo_id FROM juegos WHERE active = '1' ORDER BY id DESC LIMIT $Des, $ExP");    
    
    if(
mysql_num_rows($select_news) >= 1)
    {
          while(
$_news mysql_fetch_assoc($select_news))
          {
             if(
$_news['tipo_id'] == 0
               {
                   
$url_to_game = (!$mod_rewrite) ? '<center>[ <a href="juego.php?id='.$_news['id'].'&name='.mod_s($_news['name']).'">Ir al Juego '.$_news['name'].'</a> ]</center>' '<center>[ <a href="juego-'.$_news['id'].'-'.mod_rew($_news['name']).'.html">Ir al Juego '.$_news['name'].'</a> ]</center>';
                   
                   
$_cont '<a target="_blank" href="juego.php?id='.$_news['id'].'&name='.mod_s($_news['name']).'"><img align="right" src="'.$_news['img_dir'].'" alt="Juego '.$_news['name'].'" title="Juego '.$_news['name'].'" hspace="10"    border="0" /></a>'.$_news['descg'].'<p>'.$url_to_game;
                   
                   echo 
tabla_cont('Juego - '.$_news['name'], $_cont);
               } 
             else
               {
                   echo 
tabla_cont('Noticia - '.$_news['name'], $_news['descg']);
               }
              
          }
          
          
mysql_free_result($select_news);
          
          
$pagi_not M_Query("SELECT COUNT(id) AS id_c FROM juegos LIMIT 1");
          
$row_n mysql_fetch_assoc($pagi_not);
          
mysql_free_result($pagi_not);
          
$pagi_cou intval($row_n['id_c']);


          
$page $pagi_cou $ExP;
          
          echo 
'<div class="pagination"  style="width:100%;">';
          
$page2 $page 1;
          if(
$Sec == ''){ $prev ''; }



          if(
$Sec >= 1){ $prev $Sec 1; if(!$mod_rewrite) echo '<a href="index.php?sec='.$prev.'">◄</a>'; else echo '<a href="pag-'.$prev.'.html">◄</a> -'; }
          for (
$x 1$x $page;$x++) {
          if(
$x == $Sec){
              echo 
"<span class=\"current\" >$x</span>";
              
          }
          else{
           if(!
$mod_rewrite) echo ' <a href="index.php?sec='.$x.'">'.$x.'</a> '; else echo ' <a href="pag-'.$x.'.html">'.$x.'</a> ';
          }
          }
          if(
$Sec >= and $Sec $page2 and $page >= 1){ $next $Sec 1; if(!$mod_rewrite) echo '<a href="index.php?sec='.$next.'">►</a>'; else echo '<a href="pag-'.$next.'.html">►</a>'; }
          echo 
'</div>';
         
    }
    
?>
Buenas, mi pregunta es que de como podria realizar una paginaciòn asi...

Ya que el paginador del script muestra asi

y no se veria bien por eso quisiera saber como podra realizar una muestra como la primera de ante mano gracias
  #2 (permalink)  
Antiguo 27/11/2008, 05:06
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: paginacion php mysql

Primero generalizamos es resultado final (en negrita la pagina actual)

< 1 2 ... 8 9 10 11 12 ... 199 200 >

Divide esto en tramos:

- las primeras paginas: 1 2 ...

- las paginas del bloque de la actual: 8 9 10 11 12

- las finales: ... 199 200

Tienes que definir unos parametros para poder decidir si mostrar o no las primeras o las finales. Por ejemplo puedes decidir que si la actual es una de las 7 primeras no mostrar el bloque de las primeras (< 1 2 3 4 5 6 7 ... 199 200 >). Lo mismo, si es de las 7 ultimas no mostrar el bloque final ( < 1 2 ... 194 195 196 197 198 200 >). En caso de que solo haya menos de 10 paginas no mostrar ni las primeras ni las finales ( < 1 2 3 4 5 6 7 >). En cualquier otro caso, mostrar las iniciales, el bloque de la actual (desde actual - 2 a actual + 2) y las finales.

Todo eso lo pones en ifs y sustituye el for de tu codigo.
  #3 (permalink)  
Antiguo 27/11/2008, 06:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 17
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: paginacion php mysql

Pues si entiendo algo pero no manejo tan bien el php pero si lo entiendo... he logrado hacer que salgan las paginas por ejemplo del 1 hasta el 10 pero no sigue corriendo se quedo en 10... aver darkj si me podrias ayudar u algun otro :) gracias por la respuesta anterior ;)
  #4 (permalink)  
Antiguo 27/11/2008, 13:59
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cuernavaca,Morelos,Mexico
Mensajes: 80
Antigüedad: 15 años, 7 meses
Puntos: 0
Exclamación Respuesta: paginacion php mysql

saludos te pongo el siguiente link, aqui viene un ejemplo completo para paginar

http://www.programacion.com/php/articulo/php_paginar/
  #5 (permalink)  
Antiguo 27/11/2008, 16:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 17
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: paginacion php mysql

tomassy gracias por esa pagina tomare en cuenta el tuturial y luego les cuento.. como me fue
  #6 (permalink)  
Antiguo 27/11/2008, 17:00
Avatar de happy1783  
Fecha de Ingreso: mayo-2008
Ubicación: Bogotá
Mensajes: 146
Antigüedad: 16 años
Puntos: 1
Respuesta: paginacion php mysql

Mira si buscas en los aportes del foro hay una clase creada por okram que funciona perfecto ahí encuentras el manual y la función para descargar.
__________________
El hombre sabio vive actuando no pensando en actuar.
  #7 (permalink)  
Antiguo 27/11/2008, 17:01
Avatar de happy1783  
Fecha de Ingreso: mayo-2008
Ubicación: Bogotá
Mensajes: 146
Antigüedad: 16 años
Puntos: 1
Respuesta: paginacion php mysql

Este es el link http://www.forosdelweb.com/f18/aportes-sistemas-php-569025/
__________________
El hombre sabio vive actuando no pensando en actuar.
  #8 (permalink)  
Antiguo 27/11/2008, 18:36
 
Fecha de Ingreso: febrero-2007
Mensajes: 20
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: paginacion php mysql

Cita:
Iniciado por happy1783 Ver Mensaje
Este es el link http://www.forosdelweb.com/aportes-sistemas-php-569025/"
muy bueno
  #9 (permalink)  
Antiguo 27/11/2008, 19:17
 
Fecha de Ingreso: agosto-2008
Mensajes: 17
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: paginacion php mysql

no se encuentra el link pero gracias por tratar de ayudarme ya creo que lo estoy solucionando gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:07.