Foros del Web » Programando para Internet » PHP »

Paginar tabla en php

Estas en el tema de Paginar tabla en php en el foro de PHP en Foros del Web. Hola foro, les tengo una duda,esta vez no espara resolver ningun problema, Tengo una tabla que lleno con imagenes(logos), esta tabla tiene un tamaño de ...
  #1 (permalink)  
Antiguo 15/08/2008, 13:10
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 16 años, 3 meses
Puntos: 9
Información Paginar tabla en php

Hola foro, les tengo una duda,esta vez no espara resolver ningun problema, Tengo una tabla que lleno con imagenes(logos), esta tabla tiene un tamaño de celdas definido, 4 columnas por 5 filas, es ddecir 20 celdas,como puedo hacer que al completarse todas las filas se cree una pagina 2 de la misma tabla en elmismo div, no se si me entienden, que salga algo asi: 1 2 3 4 5 .....next.

al final de la tabla, que al dar dos se cargue una nueva tabla de 4 x5, muchas gracias.
  #2 (permalink)  
Antiguo 15/08/2008, 13:18
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Paginar tabla en php

Y qué es lo que no sabes hacer, el AJAX o los links para paginación?
  #3 (permalink)  
Antiguo 15/08/2008, 15:20
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Paginar tabla en php

Los links, no sabia que habia que usar ajax?, pensaba en hacerlo de manera dinamica, primero contando el numero de celdas disponibles, eso se como hacerlo, si no hay mas espacios en mis celdas, alli viene lo que no se hacer, debe aparecer un dos en una barra de paginacion bajo la tabla, cuando hagas click en el dos, los logos (img src) que estan dentro de cada celda y su correspondiente href (al hacer click en un logo te lleva a una pagina) se deben actualizar con los logos de los clientes quienes tengan en nivel dos (el nivel lo modifico en la base de datos al contar y saber que no hay mas espacio), eso selogra actualizando un select, cambio el where nivel = 1 a where nivel =2 poniendo where nivel=n, eso sacara a todos los usuarios que tienen nivel dos y los pondra en la tabla en la cual elnumero de columnas es el mismo que el de la tabla clientes, esta confuso lo que digo?,jajaja, ahora como hago esa barra?

esto hace ta tabla:

base de datos clientes:

Nombre Link logo link2 logo2

Jaime hola.php hola.jpg adios.php adios.jpg

en la tabla me sale

imagen hola.jpg(con su link) imagen adios.jpg(con su link)
  #4 (permalink)  
Antiguo 15/08/2008, 16:12
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Paginar tabla en php

Ok, se puede sin AJAX, creo que te entendi mal.

Código PHP:
// Primero obtenemos la página a mostrar, si no está definida, será la #1
$pag = (isset($_GET['pag'])) ? intval($_GET['pag']) : 1;
$filas = $4;
$celdas = $5;
$porpag $filas $celdas;
// Calculamos el total de páginas disponibles, suponiendo que ya cargaste los registros
$total count($registros);
$maxpag intval($total $porpag);
if(
$maxpag $porpag) < $total)
     
$maxpag ++;
// Validamos la página actual
if($pag 1)
    
$pag 1;
else if(
$pag $maxpag)
    
$pag $maxpag;
// Aquí muestras tus registros
$elemento = ($pag $porpag) - $porpag;
for(
$lin 1$lin <= $filas$lin++) {
    for(
$col 1$col <= $celdas$i++) {
        if(isset(
$registros[$elemento]) {
               
// Aquí muestras tu celda actual
        
} else {
              
// Celda vacía, por si estás usando tablas
        
}
        
$elemento++;
    }
}

// Paginación
$link 'clientes.php?pag=';
echo 
"Páginas: ";
for(
$i 1$i <= $maxpag$i++)
    echo 
"[<a href=\"$link$i\">$i</a>]"
Sólo te quedaría adaptarlo a tus necesidades y verificar bien todo el HTML generado.
  #5 (permalink)  
Antiguo 15/08/2008, 21:44
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Paginar tabla en php

Wow el codigo esta super completo pero no se si puede ser adaptado a mis nesesidades, este es el script que uso para generar mi tabla:

Código:
       <?PHP

$link = mysql_connect($server,$db_user,$db_pass) or die ("No se pudo conectar a la base de datos");
	mysql_select_db($database,$link);
	
$result = mysql_query("SELECT `nombre`, `link`, `nombre2`, `link2`, `nombre3`, `link3`, `nombre4`, `link4`, `nombre5`, `link5` FROM `logos` Where nivel = 1;", $link);

echo "<table width = '300' height = '214' border = '0' align = 'center' > \n";

echo "<tr> \n";

echo "<td><b>Premium</b></td> \n";

echo "<td><b>Premium</b></td> \n";

echo "<td><b>Premium</b></td> \n";

echo "<td><b>Premium</b></td> \n";

echo "</tr> \n";

while ($row = mysql_fetch_row($result)){

echo "<tr> \n";

//echo " <td width='60'><div align ='center'><a href= javascript:Cargar('empresas/$row[1]/index.php?cliente=$row[1]');><img src='empresas/$row[1]/logo/$row[0].jpg' width = '45' height = '45' /></a></div></td>  \n";

echo "<td width='60'><div align ='center'><a href= javascript:Cargar('empresas/$row[3]/index.php?cliente=$row[3]');><img src='empresas/$row[3]/logo/$row[2].jpg' width = '45' height = '45' /></a></div></td> \n";

echo "<td width='60'><div align ='center'><a href=javascript:Cargar('empresas/$row[5]/index.php?cliente=$row[5]');><img src='empresas/$row[5]/logo/$row[4].jpg' width = '45' height = '45' /></a></div></td> \n";

echo "<td width='60'><div align ='center'><a href=javascript:Cargar('empresas/$row[7]/index.php?cliente=$row[7]');><img src='empresas/$row[7]/logo/$row[6].jpg' width = '45' height = '45' /></a></div></td> \n";

echo "<td width='60'><div align ='center'><a href= javascript:Cargar('empresas/$row[9]/index.php?cliente=$row[9]');><img src='empresas/$row[9]/logo/$row[8].jpg' width = '45' height = '45' /></a></div></td> \n";



echo "</tr> \n";

}

echo "</table> \n";
  ?>
Para hacer el conteo yo uso la base de datos para saber donde decia disponible, sin embargo debe haber alguna manera de hacerlo mejor?, muchas gracias por el codigo esta muy completo, por favor ayudame a implementarlo si es posible, disculpa las molestias.
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 14:09.