Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/05/2010, 09:34
iovan
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 2 meses
Puntos: 188
Respuesta: Diferentes Hojas en una pagina

No amigo, para eso puedes usar una paginacion. En google puedes encontrar classes muy buenas, una de ellas se llama paginator.class

Buscala y nos cuentas.

Nota: Hacer una paginacion con PHP es mas facil de lo que parece.

Por ejemplo

paginator.js
Código Javascript:
Ver original
  1. function objetoAjax(){
  2.  
  3.     var xmlhttp=false;
  4.  
  5.     try {
  6.  
  7.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  8.  
  9.     } catch (e) {
  10.  
  11.         try {
  12.  
  13.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  14.  
  15.         } catch (E) {
  16.  
  17.             xmlhttp = false;
  18.  
  19.         }
  20.  
  21.     }
  22.  
  23.  
  24.  
  25.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  26.  
  27.         xmlhttp = new XMLHttpRequest();
  28.  
  29.     }
  30.  
  31.     return xmlhttp;
  32.  
  33. }
  34.  
  35.  
  36.  
  37. function Pagina(nropagina){
  38.  
  39.     //donde se mostrará los registros
  40.  
  41.     divContenido = document.getElementById('paginator');
  42.  
  43.    
  44.  
  45.     ajax=objetoAjax();
  46.  
  47.     //uso del medoto GET
  48.  
  49.     //indicamos el archivo que realizará el proceso de paginar
  50.  
  51.     //junto con un valor que representa el nro de pagina
  52.  
  53.     ajax.open("GET", "./paginator.php?pag="+nropagina);
  54.  
  55.     divContenido.innerHTML= '<img src="imagen_de_carga.gif">';
  56.  
  57.     ajax.onreadystatechange=function() {
  58.  
  59.         if (ajax.readyState==4) {
  60.  
  61.             //mostrar resultados en esta capa
  62.  
  63.             divContenido.innerHTML = ajax.responseText
  64.  
  65.         }
  66.  
  67.     }
  68.  
  69.     //como hacemos uso del metodo GET
  70.  
  71.     //colocamos null ya que enviamos
  72.  
  73.     //el valor por la url ?pag=nropagina
  74.  
  75.     ajax.send(null)
  76.  
  77. }



paginator.php
Código PHP:
Ver original
  1. <?php
  2.  
  3. $connect_mysql = mysql_connect('localhost','username','password');
  4.  
  5. mysql_select_db('tabla',$connect_mysql);
  6.  
  7.  
  8.  
  9. $RegistrosAMostrar=150; //Especifico cuantas filas quiero mostrar
  10.  
  11.  
  12.  
  13. //estos valores los recibo por GET
  14.  
  15. if(isset($_GET['pag'])){
  16.  
  17.     $RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
  18.  
  19.     $PagAct=$_GET['pag'];
  20.  
  21. //caso contrario los iniciamos
  22.  
  23. }else{
  24.  
  25.     $RegistrosAEmpezar=0;
  26.  
  27.     $PagAct=1;
  28.  
  29.    
  30.  
  31. }
  32.  
  33. $sql = "SELECT * FROM tabla ORDER BY campo LIMIT $RegistrosAEmpezar, $RegistrosAMostrar";
  34.  
  35.                                              $query= mysql_query($sql);
  36.  
  37.                                              echo '<table width="395px" border="1">';
  38.  
  39.                                              while($row=mysql_fetch_array($query)){
  40.  
  41.                                                
  42.  
  43.                                                 echo "<tr>";
  44.  
  45.                                                 echo "<td class='table2' style='color:#900' width='20px'>".$row['id']."</td>";
  46.  
  47.                                                 echo "<td class='table1' style='color:#FC0' width='85px'>".$row['username']."</td>";
  48.  
  49.                                                
  50.  
  51.                                                 echo "<td class='table1' width='61px'>".$row['points']."</td>";
  52.  
  53.                                                 echo "<td class='table1' width='40px'>".$row['plus']."%</td>";
  54.  
  55.                                                 echo "<td class='table1' width='42px'>";
  56.  
  57.                                                 if(empty($row['from'])) { echo ""; } else { echo "<a href='".$row['from']."'>Visitar</a></td>"; }
  58.  
  59.                                                 echo "</tr>";
  60.  
  61.                                                
  62.  
  63.                                              }
  64.  
  65.                                                  echo "</table>";
  66.  
  67.                                              
  68.  
  69. //******--------determinar las páginas---------******//
  70.  
  71. $NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM tabla"));
  72.  
  73.  
  74.  
  75. $PagAnt=$PagAct-1;
  76.  
  77. $PagSig=$PagAct+1;
  78.  
  79. $PagUlt=$NroRegistros/$RegistrosAMostrar;
  80.  
  81.  
  82.  
  83. //verificamos residuo para ver si llevará decimales
  84.  
  85. $Res=$NroRegistros%$RegistrosAMostrar;
  86.  
  87. // si hay residuo usamos funcion floor para que me
  88.  
  89. // devuelva la parte entera, SIN REDONDEAR, y le sumamos
  90.  
  91. // una unidad para obtener la ultima pagina
  92.  
  93. if($Res>0) $PagUlt=floor($PagUlt)+1;
  94.  
  95.  
  96.  
  97. //desplazamiento
  98.  
  99. echo "<div id='pages_position'>";
  100.  
  101. echo "<strong>".$PagAct."/".$PagUlt."</strong> ";
  102.  
  103. if($PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> ";
  104.  
  105. if($PagAct<$PagUlt)  echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> ";
  106.  
  107. echo "</div>";
  108.  
  109. ?>


La base de datos que use tiene columnas llamadas (d,username,points,plus) para el ejemplo pr´ctico.

Con esto ya tendrías echo una paginacion a y claro para mostrarla debes hacer lo siguiente

index.php
Código PHP:
Ver original
  1. <html><head>
  2.  
  3. <script type="text/javascript" src="./includes/scripts/paginator.js"></script>
  4. </head>
  5. <body>
  6. <?php include_once('paginator.php'); ?>
  7. </body>

Es todo, saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.