SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: RadicalEd en Viernes 9 de Mayo de 2008, 17:55

Título: Paginación En Php
Publicado por: RadicalEd en Viernes 9 de Mayo de 2008, 17:55
Si, si lo sé no tiene nada que ver con Python :P

Lo que pasa es que tenía que ver como paginar un programa de la empresa y pos nunca había hecho esto y buscando manuales en Internet, pos son muy largos y mamones y tediosos, 'tons me propuse a hacer mi balurdo paginador con php.

<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><code>[color= #000000]
[color= #0000BB]<?php
  [/color][color= #FF8000]//ESTO DEL PRINCIPIO NO TIENE NADA EN PARTICULAR,
  //SOLAMENTE UNA CONSULTA Y UNA IMPRESION DE DATOS
  [/color][color= #007700]include [/color][color= #DD0000]'configuration.php'[/color][color= #007700];
  echo [/color][color= #0000BB]$query [/color][color= #007700]= [/color][color= #DD0000]"SELECT * FROM tbsdpel_users LIMIT "[/color][color= #007700].[/color][color= #0000BB]$show[/color][color= #007700].[/color][color= #DD0000]", 10"[/color][color= #007700];
  [/color][color= #0000BB]$result [/color][color= #007700]= [/color][color= #0000BB]mysql_query[/color][color= #007700]([/color][color= #0000BB]$query[/color][color= #007700]) or die([/color][color= #0000BB]mysql_error[/color][color= #007700]());
  while([/color][color= #0000BB]$row[/color][color= #007700]=[/color][color= #0000BB]mysql_fetch_array[/color][color= #007700]([/color][color= #0000BB]$result[/color][color= #007700]))
  {
    [/color][color= #0000BB]$id [/color][color= #007700]= [/color][color= #0000BB]$row[/color][color= #007700][[/color][color= #0000BB]0[/color][color= #007700]];
    [/color][color= #0000BB]$usu [/color][color= #007700]= [/color][color= #0000BB]$row[/color][color= #007700][[/color][color= #0000BB]1[/color][color= #007700]];
    [/color][color= #0000BB]$pass [/color][color= #007700]= [/color][color= #0000BB]$row[/color][color= #007700][[/color][color= #0000BB]2[/color][color= #007700]];
    [/color][color= #0000BB]$mail [/color][color= #007700]= [/color][color= #0000BB]$row[/color][color= #007700][[/color][color= #0000BB]4[/color][color= #007700]];
    [/color][color= #0000BB]$nombre [/color][color= #007700]= [/color][color= #0000BB]$row[/color][color= #007700][[/color][color= #0000BB]7[/color][color= #007700]];
   
    echo [/color][color= #DD0000]"<br>"[/color][color= #007700].[/color][color= #0000BB]$id[/color][color= #007700].[/color][color= #DD0000]" "[/color][color= #007700].[/color][color= #0000BB]$usu[/color][color= #007700].[/color][color= #DD0000]" "[/color][color= #007700].[/color][color= #0000BB]$pass[/color][color= #007700].[/color][color= #DD0000]" "[/color][color= #007700].[/color][color= #0000BB]$mail[/color][color= #007700].[/color][color= #DD0000]" "[/color][color= #007700].[/color][color= #0000BB]$nombre[/color][color= #007700];
  }
 
  [/color][color= #FF8000]//ACA VIENE LO WENO; NO USE LA CONSULTA ANTERIOR,
  //POR QUE COMO DA LIMITE 'TONS NO ME DA LOS DATOS REALES
  [/color][color= #0000BB]$query_saber [/color][color= #007700]= [/color][color= #DD0000]"SELECT * FROM tbsdpel_users"[/color][color= #007700];
  [/color][color= #0000BB]$result_saber [/color][color= #007700]= [/color][color= #0000BB]mysql_query[/color][color= #007700]([/color][color= #0000BB]$query_saber[/color][color= #007700]) or die([/color][color= #0000BB]mysql_error[/color][color= #007700]());
 
  [/color][color= #FF8000]//EN ESTA VARIABLE SE GUARDAN LA CANTIDAD DE REGISTROS GENERADOS
  [/color][color= #0000BB]$numrows [/color][color= #007700]= [/color][color= #0000BB]mysql_num_rows[/color][color= #007700]([/color][color= #0000BB]$result_saber[/color][color= #007700]);
 
  [/color][color= #0000BB]$variable [/color][color= #007700]= [/color][color= #0000BB]$numrows[/color][color= #007700]/[/color][color= #0000BB]10[/color][color= #007700];
  [/color][color= #0000BB]$modulativa [/color][color= #007700]= ([/color][color= #0000BB]$numrows[/color][color= #007700]%[/color][color= #0000BB]10[/color][color= #007700])/[/color][color= #0000BB]10[/color][color= #007700];
 
  [/color][color= #FF8000]//SI ME DA CON DECIMALES LO REDONDEO AL MENOR
  //NO USE floor POR QUE NO LO SABIA HACER HASTA
  //QUE EMPECE A HACER LA DOCUMENTACION DEL SCRIPT ][color= #0000BB]$variable [/color][color= #007700]= [/color][color= #0000BB]$variable [/color][color= #007700]- [/color][color= #0000BB]$modulativa[/color][color= #007700];
  [/color][color= #0000BB]$n [/color][color= #007700]= [/color][color= #0000BB]0[/color][color= #007700];
  [/color][color= #0000BB]$contar [/color][color= #007700]= [/color][color= #0000BB]1[/color][color= #007700];
 
  [/color][color= #FF8000]//EMPIEZO A IMPRIMIR LAS PAGINAS
  [/color][color= #007700]echo [/color][color= #DD0000]'<br><a xhref="pruebas.php?show=0">0</a> '[/color][color= #007700];
  while([/color][color= #0000BB]$n[/color][color= #007700]<[/color][color= #0000BB]$variable[/color][color= #007700])
  {
    [/color][color= #0000BB]$show [/color][color= #007700]= [/color][color= #DD0000]'10'[/color][color= #007700];
    echo [/color][color= #DD0000]'<a xhref="pruebas.php?show='[/color][color= #007700].[/color][color= #0000BB]$show[/color][color= #007700]*[/color][color= #0000BB]$contar[/color][color= #007700].[/color][color= #DD0000]'">'[/color][color= #007700].[/color][color= #0000BB]$contar[/color][color= #007700].[/color][color= #DD0000]'</a> '[/color][color= #007700];
    [/color][color= #0000BB]$contar[/color][color= #007700]++;
    [/color][color= #0000BB]$n[/color][color= #007700]++;
  }
[/color][color= #0000BB]?>
[/color]
[/color]
</code><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->

PD. No lo pude hacer en el blog por que el Wordpress me convertía en código HTML.

Ojala les sirva.
Chao
Título: Re: Paginación En Php
Publicado por: F_Tanori en Viernes 9 de Mayo de 2008, 18:21
Floor
http://mx.php.net/floor (http://mx.php.net/floor)

Ceil
http://mx.php.net/ceil (http://mx.php.net/ceil)


En este caso , se tiene que usar ceil, para redondear hacia arriba pues si el resultado de la ultima pagina es menor a $show , (registros por pagina) y redondeas hacia abajo, estarias omitiendo resultados

Mas de uno agradecemos ese codigo  :smartass:

Saludos
Título: Re: Paginación En Php
Publicado por: RadicalEd en Viernes 9 de Mayo de 2008, 18:32
Sipi, me dí cuenta haciendo la documentación jeje :P :P
Además se puede mejorar un resto, la parte final la deje de esta forma para no gastar tanta variable.
<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><code>[color= #000000]
[color= #0000BB]<?php
  $n [/color][color= #007700]= [/color][color= #0000BB]0[/color][color= #007700];
  
  [/color][color= #FF8000]//EMPIEZO A IMPRIMIR LAS PAGINAS
  //echo '<br><a href="paginacion.php?show=0">0</a> ';
  [/color][color= #007700]echo [/color][color= #DD0000]'<br>'[/color][color= #007700];
  while([/color][color= #0000BB]$n[/color][color= #007700]<=[/color][color= #0000BB]$variable[/color][color= #007700])
  {
    [/color][color= #0000BB]$show [/color][color= #007700]= [/color][color= #DD0000]'10'[/color][color= #007700];
    echo [/color][color= #DD0000]'<a href="paginacion.php?show='[/color][color= #007700].[/color][color= #0000BB]$show[/color][color= #007700]*[/color][color= #0000BB]$n[/color][color= #007700].[/color][color= #DD0000]'">'[/color][color= #007700].[/color][color= #0000BB]$n[/color][color= #007700].[/color][color= #DD0000]'</a> '[/color][color= #007700];
    [/color][color= #0000BB]$n[/color][color= #007700]++;
  }
[/color][color= #0000BB]?>[/color]
[/color]
</code><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->
Título: Re: Paginación En Php
Publicado por: neorent en Lunes 19 de Mayo de 2008, 18:34
sabes, hace un tiempo que utilizo dreamweber, y bueno utilizo su propio paginator que trae, es super facil de usar, no se si sirve eso, pero espero que si.