Paginacion con php

Mensajes
103
Puntuación de reacción
0
Encontre un codigo que pagina y todo bien pero como seria para que no mostrara el total de pagina como en la siguiente imagen:

Untitled.jpg

Aqui les dejo el codigo que logre armar:

PHP:
<?php 

// maximo por pagina 
$limit = 2; 

// pagina pedida 
$pag = (int) $_GET["pag"]; 
if ($pag < 1) 
{ 
   $pag = 1; 
} 
$offset = ($pag-1) * $limit; 


$sql = "SELECT SQL_CALC_FOUND_ROWS id, titulo, password, views FROM paste ORDER BY fecha DESC LIMIT $offset, $limit"; 
$sqlTotal = "SELECT FOUND_ROWS() as total"; 

$rs = mysql_query($sql); 
$rsTotal = mysql_query($sqlTotal); 

$rowTotal = mysql_fetch_assoc($rsTotal); 
// Total de registros sin limit 
$total = $rowTotal["total"]; 

?> 



      <?php 
       
         while ($row = mysql_fetch_assoc($rs)) 
         { 
          
         if($row['password'] == "1234"){  
            $name = htmlentities($row["titulo"]); 

          
        ?> 
       <div id="titulo-paste">     
        
          <a href="<?php echo $tpLink; ?>/<?php echo $row['id']; ?>/" title="<?php echo $name; ?>"><?php if (strlen($name) > 75) { echo mb_substr($name, 0, 70, "utf-8") . '...'; } else { echo $name; } ?></a> <span style="font-size:12px;background:#ffde7b;padding: 2px 5px;vertical-align: top; text-transform:none;">visto: <?php echo $row['views']; ?></span> 
       </div> 
       <?php  
       } 
        
       }  
     
         
          
          
      ?> 
      <div style="clear:both;"></div> 
      <?php 
         $totalPag = ceil($total/$limit); 
         $links = array(); 
          
         for( $i=1; $i<=$totalPag ; $i++) 
         { 
            $links[] = "<a href=\"?pag=$i\">$i</a>";  
         } 
         echo implode(" - ", $links); 
      ?>

Espero que me ayuden :sisi1:
 

Imagination

Moderador
Miembro del equipo
Usuario de Bronce
Mensajes
2,683
Puntuación de reacción
0
Que quieres quitar el visto?, o el máximo de 75?


Si es él máximo de 75, esta linea

Código:
if (strlen ($ name)> 75)

El número lo cambias por la cantidad que quieres

Si es el visto elimina esta parte

Código:
<span style>.......</span>




Saludos Imagination :cool: :cool:
 
Mensajes
103
Puntuación de reacción
0
Lo que quiero es colocar que que los numeros sean como asi:

1-2-3-4-5-6-7-8-9...20...40

Como arreglarias mi codigo?

- - - Actualización- - -

Que quieres quitar el visto?, o el máximo de 75?


Si es él máximo de 75, esta linea

Código:
if (strlen ($ name)> 75)

El número lo cambias por la cantidad que quieres

Si es el visto elimina esta parte

Código:
<span style>.......</span>




Saludos Imagination :cool: :cool:

Disculpa lo que dices es referente al titulo que solo se muestran 70 caracteres yo me refiero la paginacion que se puestra con estas lineas

PHP:
 <?php
         $totalPag = ceil($total/$limit);
         $links = array();
		 
         for( $i=1; $i<=$totalPag ; $i++)
         {

            echo "<a href=\"?pag=$i\">$i</a>"; 
         }
      ?>
 

Broco

Piedra
Usuario de Piedra
Mensajes
63
Puntuación de reacción
0
A ver si te sirve, lo acabo de hacer ahora, no soy muy de php, pero creo que funciona bien :)
PHP:
$totalPag = ceil($total/$limit);  

         $links = array();
		 
		 
		 
		 
		    $diferencia=0;
			
			
			if($totalPag > 20)
			   $diferencia=floor(($totalPag-9 )/3) -1;
			   else
			   $diferencia=floor(($totalPag-9 )/2) -1;
			  
           for( $i=1; $i<=$totalPag ; $i++)
         {
      			 
			 if($i < 10 || $totalPag < 14 ){
			 
			   if($i>1) echo ' - ';
			   echo "<a href=\"?pag=$i\">$i</a>"; 
			 
			 }else{
			    
				if($i==10){echo ' - ';}else{echo '...';}
			     $PaginasRestantes = $totalPag - $i;
				if($PaginasRestantes<($diferencia*0.3)){$i=$totalPag;}
				 
				echo "<a href=\"?pag=$i\">$i</a>"; 
			
			    if($i == $totalPag) break;
			    $i += $diferencia;
			    if($i >=$totalPag) $i=$totalPag-1; 
			 
			 
			 } 

         }
 
Mensajes
103
Puntuación de reacción
0
A ver si te sirve, lo acabo de hacer ahora, no soy muy de php, pero creo que funciona bien :)
PHP:
$totalPag = ceil($total/$limit);  

         $links = array();
		 
		 
		 
		 
		    $diferencia=0;
			
			
			if($totalPag > 20)
			   $diferencia=floor(($totalPag-9 )/3) -1;
			   else
			   $diferencia=floor(($totalPag-9 )/2) -1;
			  
           for( $i=1; $i<=$totalPag ; $i++)
         {
      			 
			 if($i < 10 || $totalPag < 14 ){
			 
			   if($i>1) echo ' - ';
			   echo "<a href=\"?pag=$i\">$i</a>"; 
			 
			 }else{
			    
				if($i==10){echo ' - ';}else{echo '...';}
			     $PaginasRestantes = $totalPag - $i;
				if($PaginasRestantes<($diferencia*0.3)){$i=$totalPag;}
				 
				echo "<a href=\"?pag=$i\">$i</a>"; 
			
			    if($i == $totalPag) break;
			    $i += $diferencia;
			    if($i >=$totalPag) $i=$totalPag-1; 
			 
			 
			 } 

         }

Hermano su codigo ta perfecto solo tengo un problema que si voy dando click en las paginas las que estan oculta no aparecen.

Por que ejemplo si estoy en la 10 la 11, 12, 13, 14 y de esa forma no aparecen.

Seria bueno que aparescan las demas mientras se avance y se oculten las demas, por que no me ayuda a hacer una que sea anterior y siguiente creo que seria mas simple pero si usted puede arreglar el codigo que me paso, le doy 1000 gracias usted es el -> :number1:
 
Arriba