Foros del Web » Programando para Internet » PHP »

Dividir un página en varias partes

Estas en el tema de Dividir un página en varias partes en el foro de PHP en Foros del Web. Hola! siento molestarles de nuevo, quería saber como poder dividir esta tabla de datos que lee el php desde la DB y que me muestre ...
  #1 (permalink)  
Antiguo 18/01/2008, 00:00
Avatar de luismarcos  
Fecha de Ingreso: mayo-2007
Ubicación: Mérida, VE
Mensajes: 48
Antigüedad: 16 años, 11 meses
Puntos: 1
Pregunta Dividir un página en varias partes

Hola! siento molestarles de nuevo, quería saber como poder dividir esta tabla de datos que lee el php desde la DB y que me muestre 10 reportes cada vez y tenga que pasar de página para ver otros 10 y no tener una lista infinitamente larga como esta www.tacavirtual.luismarcosweb.com/arrivals.php ; no se si me explique, Saludos!!
  #2 (permalink)  
Antiguo 18/01/2008, 00:56
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Dividir un página en varias partes

Hola:

Busca en el foro por "paginación".

Saludos
  #3 (permalink)  
Antiguo 18/01/2008, 05:52
 
Fecha de Ingreso: agosto-2003
Mensajes: 43
Antigüedad: 20 años, 7 meses
Puntos: 0
Re: Dividir un página en varias partes

Es un poco complicado explicarte de forma facil.

Creo que debes buscar ejemplos en internet.
  #4 (permalink)  
Antiguo 18/01/2008, 07:22
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Dividir un página en varias partes

Estimado.. a continuacion te escribo uno de los codigos que yo uso para realizar esto...

Código:
function inventores(){
include("conexion.php"); 
$conectar=conexion();
//Inicializo la variable con los numeros de registro a mostrar por pagina
$registros = 10;

//Como te daras cuenta esta es una variable que vendra por url. Ya veras para que funciona
$pagina = $_GET["pagina"];




//Si trabajas con php debes ser intelignt asi que analiza este if y te daras la respuesta del porque la variable $pagina
if (!$pagina) { 

    $inicio = 0; 

    $pagina = 1; 

} 

else { 

    $inicio = ($pagina - 1) * $registros; 

} 

?>

<br><br>
<a onClick="window.open('agregar.php','null','width=300,height=400, scrollbars=no, menubar=no, status=no, location=no, resizable=no, top=200, left=500')" style"cursor: hand"><img src="imagenes/einstein.jpeg"><br><font size=2>Agregar Investigador</font></a>
<br><br><br><br>

<?php
echo"<table width=\"300\" align=\"center\" border=\"0\"><tr><td width=\"100\" align=\"justify\"><h5>Nombre</h5>"

."</td><td width=\"100\" align=\"justify\"><h5>Apellido</h5></td><td width=\"50\" align=\"justify\"><h5>Editar</h5></td><td width=\"50\" align=\"center\"><h5>Borrar</h5></b></td></tr></table>";

      $resultados=mysql_query("Select * from inventores");
      $total_registros = mysql_num_rows($resultados);
      $resultados = mysql_query("SELECT * from inventores LIMIT $inicio, $registros");	

		$total_paginas = ceil($total_registros / $registros);
//este if lo que me da un color para una linea y otro color para la otra linea.. es algo de estetik.	
if($total_registros) {


      while ($Datos = mysql_fetch_array($resultados)) 

      { 
			if ($colorfila==0){
       $color= "#DEDEBE";
       $colorfila=1;
    }else{
       $color="#F0F0F0";
       $colorfila=0;
    }          
      
      echo "<table width=\"300\" align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr bgcolor='".$color."'><td width=\"100\" align=\"justify\"><font size=2>".$Datos['nombre']."</font></td><td width=\"100\" align=\"left\"><font size=2>".$Datos['apellido']."</font></td>";

         echo "<td width=\"50\" border=\"0\"><a href='inventores.php?accion=editar_ppi&cod=".$Datos['id_inventores']."'><img border=\"0\" src=\"imagenes/b_edit.png\"></a></td>"

         ."<td width=\"50\" border=\"0\"><a href='inventores.php?accion=borrar_ppi&cod=".$Datos['id_inventores']."'><img border=\"0\" src=\"imagenes/b_drop.png\"></a>"

         ."</td></tr></table>";}

     } else {

		echo "<font color='darkgray'><h3>(Aun no hay inventores registrados)</h3></font>";

	}         
         

      mysql_free_result($resultados);
// aqui comienza lo lindo, en los link que estan abajo tienes que colocar el link de tu pagina antes del "&pagina=".($pagina-1)." ya que esa es la variable que pasaras por url.. lo demas interpretalo tu. cualquier duda.. preguntas"
      if($total_registros) {

		

		echo "<center>";

		

		if(($pagina - 1) > 0) {

			echo "<a href='inventores.php?accion=inventores&pagina=".($pagina-1)."'>< Anterior</a> ";

		}

		

		for ($i=1; $i<=$total_paginas; $i++){ 

			if ($pagina == $i) {

				echo "<b>".$pagina."</b> "; 

			} else {

				echo "<a href='inventores.php?accion=inventores&pagina=$i'>$i</a> "; 

			}	

		}

	  

		if(($pagina + 1)<=$total_paginas) {

			echo " <a href='inventores.php?accion=inventores&pagina=".($pagina+1)."'>Siguiente ></a>";

		}

		

		echo "</center>";

		

	}

}
  #5 (permalink)  
Antiguo 18/01/2008, 07:29
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Dividir un página en varias partes

upa... algo que se me olvido comentar y es muy importante.. mira esto...

Código:
 $resultados=mysql_query("Select * from inventores");
      $total_registros = mysql_num_rows($resultados);
      $resultados = mysql_query("SELECT * from inventores LIMIT $inicio, $registros");	
      $total_paginas = ceil($total_registros / $registros);
en la seleccion de la base de datos requiero saber cuantas filas hay en nuestra consulta para dividirla despues entre la cantidad de registro que quiero mostrar para saber cuantas paginas tengo que generar y despues hacer otra consulta pero con un "LIMIT" que lo que hace que me limita la busqueda a la cantidad que esta despues de la coma y me muestra la pagina segun el numero que esta antes de la coma.

Por ejemplo.. si tengo una consulta de 100 resultados y coloco:

Código:
$resultados = mysql_query("SELECT * from inventores LIMIT 10, 100");
entonces me dara los registros del 1 al 10.
Ahora si coloco
Código:
$resultados = mysql_query("SELECT * from inventores LIMIT 2, 100");
colocara los registros del 11 al 20 y asi seguira..
suerte...
  #6 (permalink)  
Antiguo 18/01/2008, 07:32
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Dividir un página en varias partes

oye mi pana no se en que pesaba... me rquivoque en el mensaje anterior.. el asunto es asi...

Por ejemplo.. si tengo una consulta de 100 resultados y coloco:

Código:

Código:
$resultados = mysql_query("SELECT * from inventores LIMIT 1, 10");
entonces me dara los registros del 1 al 10.
Ahora si coloco
Código:

Código:
$resultados = mysql_query("SELECT * from inventores LIMIT 2, 10");
colocara los registros del 11 al 20 y asi seguira..
suerte...
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.
Respuesta




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