Funcion para separar por paginas los registros a mostrar

evigra

New Member
Messages
244
Reaction score
3
Points
0
www.dtur.com.mx aqui utilizo mis funciones, critiquenme la pagina, quiero saber sus comentarios

paginas($comando_sql, $registros, $direccion, $p_no, $texto_mostrado)

$comando_sql= comando utilizado para saber los registros totales que tiene la consulta solicitada
$registros= cuantos registros quiero mostrar por pagina
$direccion= yo utilizo ajax aqui..
$p_no= pagina mostrada
$texto que se muestra para darle comodo al mensahe final

PHP:
<?
 function paginas($comando_sql, $registros, $direccion, $p_no, $texto_mostrado)
 {
  $respuesta=mysql_query($comando_sql);
  while($datos=mysql_fetch_array($respuesta))
  {
   $total=$datos[registros];
  }
  if($total>0 AND $total>$registros)
  {
   $paginas=$total/$registros;
 
   if($total%$registros!=0) 
   {   
    $residuo=$total%$registros;
    $residuo=$residuo/$registros;
    $paginas=$paginas-$residuo+1;
   }
   $m_inicio=($p_no-1)*$registros+1;
   $m_final=($p_no-1)*$registros+$registros;
   if($m_final>$total)$m_final=$total;
   echo "
    <br>
    <center><font align=\"center\" class=\"texto_azul\">Mostrando $m_inicio - $m_final de $total $texto_mostrado</font></center><br>
    <table border=\"1\" align=\"center\" cellspacing=\"3\">
   ";
    for($a=1;$a<=$paginas;$a++)
    {
     if($a!=$p_no) echo "<td align=\"center\" valign=\"middle\" width=\"20\" class=\"fondo_azul\" ><a class=\"texto_blanco\" href=\"$direccion$a','POST')\">$a</a></td>";
     else    echo "<td align=\"center\" valign=\"middle\" width=\"20\"  ><a class=\"texto_blanco\" href=\"$direccion$a','POST')\"><font>$a</font></a></td>";
    }
   echo "
    </table><br>&nbsp; 
   ";
  }
 }  
?>

Modo de uso

PHP:
<?
 //yo utilizo ajax aqui... tendrian que modificar si no lo usan
 $direccion="javascript: FAjax('admin_mensajes.php','admin_mensajes','id_foto=$id_foto&p_no=";
 
 //son 6 los mensajes que quiero mostrar 
 $registros=6;
 
 if($p_no=="")$p_no=1;
 $inicio=($p_no-1)*$registros;
 // esta consulta solo muestra en la pagina que voy.. los registros que quiero mostrar
 $comando="SELECT * FROM mensajes_fotos WHERE id_foto='$id_foto' ORDER BY id_mensajes_fotos DESC LIMIT $inicio, $registros";
 $respuesta=mysql_query($comando_sql);
 while($datos=@mysql_fetch_array($respuesta))
 {
  // aqui se muestra la informacion que se va a ver
 } 
 //para contar los registros de la cosulta anterior y determinar en cuentas paginas se van a distribuir
 $comando_sql="SELECT COUNT(id_mensajes_fotos) as registros FROM mensajes_fotos WHERE id_foto='$id_foto' ORDER BY id_mensajes_fotos DESC"; 
 $texto_mostrado="comentarios encontrados";
 paginas($comando_sql, $registros, $direccion, $p_no, $texto_mostrado);  
?>
 

evigra

New Member
Messages
244
Reaction score
3
Points
0
puede ser que no me entiendan mucho lo de el link que tiene cada uno de los numeros de pagina... ya que ahi utiliso ajax y mi funcion esta adaptada para ser utilizada con "FAjax"

si aguien quisiera ponerle links normales y no saben como diganme... y con mucho gusto les ayudare
 

evigra

New Member
Messages
244
Reaction score
3
Points
0
jejeje...

una de dos...

No entendieron nada mi codigo o de plano, de nada les sirve...
bueno solo les puedo comentar que es de mucha ayuda para mi...
claro que le quite unas cosas...

creo que lo voy a volver a hacer pero sin ajax, porque a lo mejor por eso no opinan o no me entienden...

Saludo a todos los que ignoraron a este script que me es de mucha ayuda
 

papichulo_carioco

Community Advocate
Community Support
Messages
1,400
Reaction score
12
Points
0
estupenda pagina, lo único que los colores son oscuros y la página no ocupa el 100% del ancho de página. No sé si será por el ajax, pero tarda mucho en hacer la primera carga. Luego, va bien. Saludos ;)
 
Top