FW: [Pgsql-ayuda] Sobre Paginacion con Php y postgres

Jose Luis Torres jltorres@assa.com.mx
Tue, 09 Dec 2003 09:25:22 -0600


Podria alguien explicar brevemente o con algun link de referencia al tema d=
e
biblioteca de abstraccion de HTML y de biblioteca de abstraccion de base de
datos.

Saludos

Jos=E9 Luis Torres Montes
Sistemas::Informatica Corporativa
Grupo AS,S.A. de C.V.
Tel. 011(52-33)-3208-8112 Ext. 1740
Guadalajara,Jalisco.Mexico



On 9/12/03 9:06 AM, "Martin Marques" <martin@bugs.unl.edu.ar> wrote:

> El Dom 07 Dic 2003 06:39, unimauro escribi=F3:
>> Saludos estoy haciendo un ordenamiento con php y postgres algo as=ED:
>>=20
>>=20
>> Pero tengo un bug extra=F1o : en la primera p=E1gina no me sale ningun dato
>> absolutamente nada  :/ .
>>=20
>> En la segunda pagian si me lale adecuadamente todo ... excelente :)
>>=20
>> Pero en la tercera pagina me sale un dato mas del que esperaba ...
>>=20
>> Alguien me puede datr un mano , este un c=F3digo que tome de Mysql - Php
>                                                            ^^^^^
> Se nota que estaba hecho para esto.
>=20
> 1) Usa alguna biblioteca de abstraccion de HTML (HTML_Template_IT, Smarty=
,
> etc.)
> 2) Usa una biblioteca o clase de abstraccion de base de datos. Te va a ay=
udar
> mucho con tu codigo.
>=20
> Lo que esta abajo parece un spagetti horrible.
>=20
>> creo que hay problemas  que no puedo apreciar :(.
>>=20
>> <?
>> 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);
>>=20
>> echo "N&uacute;mero de registros encontrados: " . $num_total_registros .
>> "<br>";
>> echo "Se muestran p&aacute;ginas de " . $TAMANO_PAGINA . " registros
>> cada una<br>";
>> echo "Mostrando la p&aacute;gina " . $pagina . " de " . $total_paginas .
>> "<p>";
>>=20
>> $ssql=3D"SELECT*FROM accesos $criterio LIMIT $inicio OFFSET
>> $TAMANO_PAGINA";
>> $rs =3D pg_query($conexion,$ssql);
>>=20
>> echo "<form name=3D'modificar' method=3Dpost action=3D'borrar.php'>";
>> echo "<center><TABLE WIDTH=3D100%>
>>         <TR>
>>           <TD><div id=3D'ta'> N&deg;</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>";
>>=20
>> $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'Eliminar
>> registros marcados'>&nbsp;<input type=3Dreset value=3D'Borrar el
>> formulario'>
>> </form>";
>> echo "</TABLE></center>";
>>=20
>> pg_close($conexion);
>>=20
>> 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>";
>>     }
>> }
>> ?>
>>=20
>>=20
>> Saludos

------ End of Forwarded Message