Foros del Web » Programando para Internet » PHP »

Problema paginando con esta select

Estas en el tema de Problema paginando con esta select en el foro de PHP en Foros del Web. Hola. Muchas gracias de antemano por todo lo que aportais. Aprendo mucho leyendoos. Me veo en la necesidad de cara a la preparación del proyecto ...
  #1 (permalink)  
Antiguo 07/04/2015, 09:28
 
Fecha de Ingreso: octubre-2014
Mensajes: 6
Antigüedad: 9 años, 6 meses
Puntos: 0
Problema paginando con esta select

Hola. Muchas gracias de antemano por todo lo que aportais. Aprendo mucho leyendoos.

Me veo en la necesidad de cara a la preparación del proyecto final del grado de solicitaros una ayudita.

Lo que busco es lo siguiente. Tengo esta select:

Código PHP:
$consulta "SELECT nombre, fechaCreacion, (Select Count(nombre) from usuario where idComunidad=$i) as Miembros from comunidad where idComunidad=$i ORDER BY idComunidad ASC LIMIT ".$inicio."," $TAMANO_PAGINA
Podeis comprobar que aparece la variable $i. Ya que tengo esta select dentro de un for para que me muestre todas las comunidades que tengo creadas con su respectiva fecha de creación y los miembros que hay en cada una de ellas.

Hasta aquí todo bien. Me los muestra sin ningún tipo de problema. Sucede que al mostrarme 30 comunidades como es el caso, conviene paginarlas para que me muestre unas 10 comunidades por cada página.

Tengo el siguiente código para paginar. Con selects más básicas en las que no se pasa ninguna variable y no necesitan insertarse dentro de un for para que recorra todo me funciona y me pagina sin problema. Pero al parecer este código que tengo de paginación tiene un conflicto con el for, ya que me muestra todas las comunidades directamente en la página 1, mientras que en la 2 y 3 no aparece ninguna información.

Código que uso para paginar:

Código PHP:
for($i=0;$i<=100;$i++)
            {
                
$conn=$comunidad->conectar();
                
$consulta "SELECT nombre, fechaCreacion, (Select Count(nombre) from usuario where idComunidad=$i) as Miembros from comunidad where idComunidad=$i ORDER BY idComunidad ASC LIMIT ".$inicio."," $TAMANO_PAGINA;
                
$rs $conn->query($consulta);
                while (
$row mysqli_fetch_array($rs)) 
                {
                    echo 
'<tr>';      
                    echo 
'<td><input type="radio" name="idCom" value="'.$i.'"></td>';
                    echo 
'<td>'.$row['nombre'].'</td>';
                    echo 
'<td>'.$row['fechaCreacion'].'</td>';
                    echo 
'<td>'.$row['Miembros'].'</td>';
                    echo 
'</tr>';
                }  
            }
            if (
$total_paginas 1)                       
            {
                if (
$pagina != 1
                {
                    echo 
'<a href="' $url '?pagina=' . ($pagina 1) . '"><img src="img/izq.gif" border="0"></a>';
                }
                for (
$i=1;$i<=$total_paginas;$i++) 
                {
                    if (
$pagina == $i
                    {
                    
//si muestro el índice de la página actual, no coloco enlace
                        
echo $pagina;
                    } 
                    else 
                    {
                        
//si el índice no corresponde con la página mostrada actualmente,
                        //coloco el enlace para ir a esa página
                        
echo '  <a href="' $url '?pagina=' $i '">' $i '</a>  ';
                    }
                }
               if (
$pagina != $total_paginas
               {
                   echo 
'<a href="' $url '?pagina=' . ($pagina 1) . '"><img src="img/der.gif" border="0"></a>';
               }
            } 
Adjunto imágenes de como se ve (el diseño evidentemente aun no está xD).
1ª imagen. Primera página de la paginación:
[URL="http://imageshack.com/a/img538/664/UZCoHd.gif"]Imagen 1[/URL]
2ª imagen. Como se ven las páginas que no son la 1.
[URL="http://imageshack.com/a/img911/476/HWC7iW.gif"]Imagen 2[/URL]

En resumen. Lo ideal sería que en cada página apareciesen 10 comunidades. Si necesitais alguna información os la proporciono ipso facto.

Un saludo y a ver si alguien me ilumina.
  #2 (permalink)  
Antiguo 07/04/2015, 09:57
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Problema paginando con esta select

Mejor utiliza una librería para hacer el paginado
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: fecha, mysql, select, variable
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 10:59.