Sobre paginado inusual...

Bueno pues el caso es el siguiente, es un paginado un poco fuera de lo común, mira supongamos que :
*  significa :
1- Foto
2- Nombre
3- Edad
Y en dependencia de la cant de * es si estoy mostrando el primer registro, ** el segundo y *** el tercero, entonces yo extraigo de una bd cierta cantidad de registros que cada uno contiene lo anterior señalado(foto, nombre, edad) luego quedaría de esta manera :
<< prev                                  mostrando 3 de un total de n                                    next >>
*                                                            **                                                                ***
Que quiero hacer y no me sale, primero es mostrar solo los 3 primeros registros y luego cuando de click en next pues mostrar los siguientes y si da prev los anteriores y validar en caso de que no haya más, si desea ver el código actual que tengo y que no funciona porque muestra todos los registros, no 3 como yo quiero, es este :
$_pagi_result = getPaginatorES(); // funcion que trae un array de un fetchAll porque uso pdo
                            $rowCount = count($_pagi_result);                          
                            $maxRowsPerCol =  ceil($rowCount / $rowCount);
                            $rowCol = 1;
//for($i = (int) ($pag * 3) / 2; $i <= $pag * 3; $i++){                            
                            foreach($_pagi_result as $record){ // este foreach es recorrer la query
                            if ($rowCol = 1) {
                            {
                            echo '
<ul>
';
                            }
                            $nom = $record['nombre'];         
                            $ap =  $record['apellidos'];
                            $foto = $record['foto'];
                            $sex = $record['id_sexo'];                            
                            global $fecha;
                            $fecha = $record['fecha_nacimiento'];
                            $id_trab = $record['id_trabajador'];
                            $sum1 = $id_trab + 0; // esto es para intentar asignarle una css a cada columna(3 columnas de una fila cada una porque la fila es un panel donde estan esos datos a mostrar)
                            $sum2 = $sum1 + 1;
                            $sum3 = $sum2 + 1;
                            $pers = $record['personalidad'];
                            $num = (int)$id_trab;                            
                            $ws = ' ';                            
                            $calc_edad = fech($fecha); // llamada a la funcion para calcular edad                                                    
                            $espES = getEspecialidadES();
                            foreach($espES as $record){                            
      ...
Respuesta
1
Con LIMIT 3, sacas solo los tres primeros registros. Para el tema del paginado, te recomiendo Dreamweaver, tiene un apartado que hace ese tipo de cosdas, y te escribe el código.
Tu código es un poco difícil de comprender, la verdad, pero te recomiendo un vistazo a DW, donde podrás hacer eso que indicas con un par de clicks.
Si pero la clausula de mysql limita a solo los 3 primeros y yo necesito que inicialmente me muestre los 3 primeros pero cuando de click en next me muestre los otros 3 y así hasta los últimos registros que pueden variar de cantidad. Más bien pienso que se debe controlar por php o por javascript pero este último seria un poco complicado, mejor php pero no encuentro la forma. Saludos,
Dieter.
Como te digo, desde dreamweaver, lo puedes hacer automáticamente. Si lo quieres hacer tu, simlpemente haz una rellamada a la página de resultado es mandando un parámetro que indique en qué registro te has quedado y así la siguiente consulta la haces con LIMIT 3. 6, por ejemplo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas