[Pgsql-ayuda] Sobre Paginacion con Php y postgres
Martin Marques
martin@bugs.unl.edu.ar
Tue, 9 Dec 2003 12:06:02 -0300
El Dom 07 Dic 2003 06:39, unimauro escribi=C3=B3:
> Saludos estoy haciendo un ordenamiento con php y postgres algo as=C3=AD:
>
>
> Pero tengo un bug extra=C3=B1o : en la primera p=C3=A1gina no me sale nin=
gun dato
> absolutamente nada :/ .
>
> En la segunda pagian si me lale adecuadamente todo ... excelente :)
>
> Pero en la tercera pagina me sale un dato mas del que esperaba ...
>
> Alguien me puede datr un mano , este un c=C3=B3digo que tome de Mysql - P=
hp
^^^^^
Se nota que estaba hecho para esto.
1) Usa alguna biblioteca de abstraccion de HTML (HTML_Template_IT, Smarty,=
=20
etc.)
2) Usa una biblioteca o clase de abstraccion de base de datos. Te va a ayud=
ar=20
mucho con tu codigo.
Lo que esta abajo parece un spagetti horrible.
> creo que hay problemas que no puedo apreciar :(.
>
> <?
> include '../includes/in_conection.inc';
> $TAMANO_PAGINA =3D 5;
> $pagina =3D $_GET["pagina"];
> if (!$pagina) {
> $inicio =3D 0;
> $pagina=3D1;
> }
> else {
> $inicio =3D ($pagina - 1) * $TAMANO_PAGINA;
> }
> $ssql=3D"select*from accesos ".$criterio;
> $rs=3Dpg_query($conexion,$ssql);
> $num_total_registros =3D pg_num_rows($rs);
> $total_paginas =3D ceil($num_total_registros / $TAMANO_PAGINA);
>
> echo "Número de registros encontrados: " . $num_total_registros .
> "<br>";
> echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros
> cada una<br>";
> echo "Mostrando la página " . $pagina . " de " . $total_paginas .
> "<p>";
>
> $ssql=3D"SELECT*FROM accesos $criterio LIMIT $inicio OFFSET
> $TAMANO_PAGINA";
> $rs =3D pg_query($conexion,$ssql);
>
> echo "<form name=3D'modificar' method=3Dpost action=3D'borrar.php'>";
> echo "<center><TABLE WIDTH=3D100%>
> <TR>
> <TD><div id=3D'ta'> N°</div></TD>
> <TD><div id=3D'ta'> Login </div></TD>
> <TD><div id=3D'ta'> Clave </div></TD>
> <TD><div id=3D'ta'> Nombre </div></TD>
> <TD><div id=3D'ta'> Apellido </div></TD>
> <TD><div id=3D'ta'> Glosa </div></TD>
> <TD><div id=3D'ta'> Borrar</div></TD>
> </TR>";
>
> $num_fila =3D 0;
> $in=3D1+(($pagina-1)*5);
> while($arr =3D pg_fetch_array($rs)){
> echo "<tr";
> if ($num_fila % 2!=3D0)
> {echo "bgcolor=3D#d2e6ff"; }
> else
> { echo "bgcolor=3D#e9f1ff"; }
> echo ">";
> echo "<td><b>$in</b></td>";
> echo "<td>Login: <b>",$arr["login_id"],"</b>";
> echo "<td>Clave: <b>",$arr["clave_usuario"],"</b></td>";
> echo "<td>Nombre: <b>", $arr["nombre_usuario"],"</b></td>";
> echo "<td>Apellido: <b>", $arr["apellido_usuario"],"</b></td>";
> echo "<td>Glosa: <b>", $arr["glosa_usuario"],"</b></td>";
> echo"</td><td align=3Dcenter><input type=3Dcheckbox name=3Dborrar
> value=3D'Si'></td></tr>";
> $num_fila++;
> $in++;
> }
> echo "<td colspan=3D5 align=3Dcenter><br><input type=3Dsubmit value=3D'El=
iminar
> registros marcados'> <input type=3Dreset value=3D'Borrar el
> formulario'>
> </form>";
> echo "</TABLE></center>";
>
> pg_close($conexion);
>
> if ($total_paginas > 1){
> for ($i=3D1;$i<=3D$total_paginas;$i++){
> if ($pagina =3D=3D $i)
> echo $pagina . " ";
> else
> echo "<a href=3D'005.php?pagina=3D" . $i . "&criterio=3D" .
> $txt_criterio . "'> - " . $i . "- </a> <br>";
> }
> }
> ?>
>
>
> Saludos
=2D-=20
12:04:02 up 13 days, 18:21, 4 users, load average: 0.70, 0.68, 0.53
=2D----------------------------------------------------------------
Mart=C3=ADn Marqu=C3=A9s | select 'mmarques' || '@' || 'unl.edu.ar'
Centro de Telematica | DBA, Programador, Administrador
Universidad Nacional
del Litoral
=2D----------------------------------------------------------------