elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Paginacion PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Paginacion PHP  (Leído 6,341 veces)
Sinedra

Desconectado Desconectado

Mensajes: 44


<?php include("Sinedra.php"); ?>


Ver Perfil
Re: Paginacion PHP
« Respuesta #10 en: 23 Enero 2011, 17:46 pm »

Gracias creo que seguire tu consejo, la paginacion solamente tiene unas 120 lineas solo puse 2 veces el mismo codigo pq tb le implemente un buscador, pero en si tiene como 120 lineas


En línea

el_quick

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Paginacion PHP
« Respuesta #11 en: 26 Noviembre 2011, 00:34 am »

kpaginate es una excelente clase para paginación en php, te la recomiendo! http://www.aprender-a-programar.com/paginacion-php


En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Paginacion PHP
« Respuesta #12 en: 26 Noviembre 2011, 23:05 pm »

Talves puedas complementarla con la clase que hize hace algun tiempo para hacer paginadores a partir de una query mysql:

Código
  1. <?php if($_SERVER['SCRIPT_FILENAME'] == __file__) exit;
  2. /*
  3. FrameworkDrawCoders : 3.*
  4. Last modification : 29-4-2011
  5. Class version : 1.2
  6. */
  7.  
  8. class paginator{
  9.  
  10. /* Results */
  11. var $total_items;
  12. var $total_pages;
  13. var $actual_page;
  14. var $actual_url;
  15. var $matrix_content;
  16. var $matrix_paginator;
  17.  
  18. /* Configurations */
  19. var $items_by_page = 15;
  20. var $pages_by_screen = 10;
  21. var $page_var = '_p';
  22. var $custom_css = false;
  23. var $base_url; /* Blank. Change in function. */
  24.  
  25. /* Libs */
  26. var $sql;
  27.  
  28. /* System Vars */
  29. var $last_error;
  30. var $libs_need;
  31.  
  32. /* Default libs */
  33. var $conf;
  34. var $str;
  35. var $path;
  36. var $headers;
  37.  
  38. function __construct(){
  39. $this->libs_need = array('sql'); /* Need */
  40. }
  41.  
  42. function matrix_sql($query_sql){
  43. /* Reset value */
  44. $this->total_items = null;
  45. $this->total_pages = null;
  46. $this->actual_page = null;
  47. $this->actual_url = null;
  48. $this->matrix_content = null;
  49. $this->matrix_paginator = null;
  50. $this->last_error = null;
  51. $this->base_url = null;
  52.  
  53. /* Count results */
  54. $this->total_items = $this->sql->fast_select('select count(*) from '.substr($query_sql, strripos($query_sql, ' from ') + 6, strlen($query_sql) - (strripos($query_sql, ' from ') + 6)), true);
  55. $this->total_pages = ceil($this->total_items / (int)$this->items_by_page);
  56.  
  57. /* Clean get var */
  58. if((int)$_GET[$this->page_var] == 0)
  59. $this->actual_page = 1; /* Default page */
  60. elseif($_GET[$this->page_var] > (int)$this->total_pages)
  61. $this->actual_page = (int)$this->total_pages;
  62. else
  63. $this->actual_page = (int)$_GET[$this->page_var];
  64.  
  65. /* Make content */
  66. $this->matrix_content = $this->sql->fast_select($query_sql.' limit '.(((int)$this->actual_page - 1) * (int)$this->items_by_page).', '.(int)$this->items_by_page);
  67.  
  68. /* Configuration of paginator */
  69. if((int)$this->actual_page > ($this->pages_by_screen / 2)){
  70. $nstart_paginator = floor(((int)$this->actual_page + 1 - $this->pages_by_screen / 2));
  71. if($nstart_paginator < 1)
  72. $nstart_paginator = 1;
  73. $nlast_paginator = ($this->pages_by_screen + $nstart_paginator - 1);
  74. }else{
  75. $nstart_paginator = 1;
  76. $nlast_paginator = (int)$this->pages_by_screen;
  77. }
  78.  
  79. /* Make URL base */
  80. $this->base_url = $this->conf->script_url .'?';
  81. if($_GET){
  82. foreach($_GET as $var => $val){
  83. if($var != $this->page_var){
  84. if(is_array($val)){
  85. foreach($val as $a => $b){
  86. $this->base_url .= $var.'['.urlencode($a).']'.'='.urlencode($b).'&';
  87. unset($b);
  88. }
  89. unset($a);
  90. }else{
  91. $this->base_url .= urlencode($var).'='.urlencode($val).'&';
  92. }
  93. }
  94. unset($var, $val);
  95. }
  96. $this->base_url = substr($this->base_url, 0, strlen($this->base_url) - 1);
  97. }
  98.  
  99. /* Make paginator */
  100. for($c = $nstart_paginator; $c <= $nlast_paginator; $c++){
  101. if($c > (int)$this->total_pages)
  102. break;
  103. $this->matrix_paginator[] = array(
  104. 'id' => $c,
  105. 'url' => $this->path->make_permalink($this->base_url.'&'.$this->page_var .'='.(int)$c),
  106. );
  107. }
  108.  
  109. $this->actual_url = $this->base_url.'&'.$this->page_var .'='.(int)$this->actual_page;
  110. return array(
  111. 'matrix_paginator' => $this->matrix_paginator,
  112. 'matrix_content' => $this->matrix_content
  113. );
  114. }
  115.  
  116. function make_content_html($headers, $custom_css = false){
  117. if(!$this->matrix_content){
  118. $this->last_error = array('id' => 1, 'text' => 'No have content');
  119. return false;
  120. }
  121.  
  122. $return = '';
  123.  
  124. /* Include default css */
  125. if((!$custom_css) and (!$this->conf->css_paginator_content_inserted)){
  126. $return .= '<link href="'.$this->path->libs().'res_paginator/default_content.css" type="text/css" media="screen" rel="stylesheet" />';
  127. $this->conf->css_paginator_content_inserted = true;
  128. }
  129.  
  130. $return .= '
  131. <table class="__cpag_a" id="__pag_a" name="__pag_a">
  132. <thead class="__cpag_b">
  133. <tr class="__cpag_c">
  134. ';
  135. /* Calculate columns */
  136. $th = 0;
  137. foreach($this->matrix_content[0] as $var => $val){
  138. $th++;
  139. $return .= '
  140. <th class="__cpag_d __cpag_th_'.(int)$th.'">'.$this->str->toHtml($headers[$var]).'</th>
  141. ';
  142. unset($var, $val);
  143. }
  144. unset($th);
  145. $return .= '
  146. </tr>
  147. </thead>
  148. <tbody class="__cpag_e">
  149. ';
  150. foreach($this->matrix_content as $trid => $content){
  151. $return .= '
  152. <tr class="__cpag_f __cpag_tr_'.$trid.'" id="__cpag_id_'.$trid.'" name="__cpag_id_'.$trid.'">
  153. ';
  154. $tdid = 0;
  155. foreach($content as $col => $val){
  156. $tdid++;
  157. $return .= '
  158. <td class="__cpag_g __cpag_td_'.(int)$tdid.'" id="__cpag_id_'.$trid.'_'.$tdid.'" name="__cpag_id_'.$trid.'_'.$tdid.'">
  159. '.$this->str->toHtml($val).'
  160. </td>
  161. ';
  162. unset($col, $val);
  163. }
  164. unset($tdid);
  165. $return .= '
  166. </tr>
  167. ';
  168. unset($trid, $content);
  169. }
  170. $return .= '
  171. </tbody>
  172. </table>
  173. ';
  174.  
  175. return $return;
  176.  
  177. }
  178.  
  179. function make_paginator_html($custom_css = false){
  180. if(!$this->matrix_content){
  181. $this->last_error = array('id' => 1, 'text' => 'No have content');
  182. return false;
  183. }
  184.  
  185. $return = '';
  186.  
  187. /* Include default css */
  188. if((!$custom_css) and (!$this->conf->css_paginator_inserted)){
  189. $return .= '<link href="'.$this->path->libs().'res_paginator/default_paginator.css" type="text/css" media="screen" rel="stylesheet" />';
  190. $this->conf->css_paginator_inserted = true;
  191. }
  192.  
  193. $return .= '
  194. <table class="__pag_a" id="__pag_a" name="__pag_a">
  195. <tbody class="__pag_b">
  196. <tr class="_pag_c">
  197. <td class="__pag_d __pag_td_start">
  198. <a class="__pag_e __pag_href_start" href="'.$this->path->make_permalink($this->base_url .'&'.$this->page_var .'=1').'"><div class="__pag_f __pag_div_start">&lt;&lt;</div></a>
  199. </td>
  200. ';
  201. foreach($this->matrix_paginator as $id => $pag){
  202. $id = ($id + 1);
  203. if($this->actual_page == $pag['id']){
  204. $return .= '
  205. <td class="__pag_d __pag_td_'.$id.' __pag_td_actual">
  206. <a class="__pag_e __pag_href_'.$id.' __pag_href_actual" href="'.$pag['url'].'"><div class="__pag_f __pag_div_'.$id.' __pag_div_actual">'.$pag['id'].'</div></a>
  207. </td>
  208. ';
  209. }else{
  210. $return .= '
  211. <td class="__pag_d __pag_td_'.$id.'">
  212. <a class="__pag_e __pag_href_'.$id.'" href="'.$pag['url'].'"><div class="__pag_f __pag_div_'.$id.'">'.$pag['id'].'</div></a>
  213. </td>
  214. ';
  215. }
  216. unset($id, $pag);
  217. }
  218. $return .= '
  219. <td class="__pag_d __pag_td_end">
  220. <a class="__pag_e __pag_href_end" href="'.$this->path->make_permalink($this->base_url .'&'.$this->page_var .'='.$this->total_pages).'"><div class="__pag_f __pag_div_end">&gt;&gt;</div></a>
  221. </td>
  222. </tr>
  223. </tbody>
  224. </table>
  225. ';
  226. return $return;
  227. }
  228.  
  229. function make_all_html($headers, $custom_css = false){
  230. return ($paginator = $this->make_paginator_html($custom_css)).$this->make_content_html($headers, $custom_css).$paginator;
  231. }
  232. }
  233.  
  234.  
  235.  
  236.  
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
paginacion --php-sql-html--
PHP
pepelon 5 2,705 Último mensaje 10 Enero 2007, 20:08 pm
por дٳŦ٭
paginación
PHP
bels_mike 3 2,113 Último mensaje 1 Enero 2008, 14:20 pm
por USUARIO_DE_SOFTWARE_LIBRE
paginacion
PHP
Sr.Morocco 0 1,610 Último mensaje 14 Mayo 2010, 11:06 am
por Sr.Morocco
Paginación PHP
Desarrollo Web
carlosuc99 5 3,301 Último mensaje 17 Enero 2012, 18:55 pm
por el_quick
paginacion
PHP
geshiro 5 1,491 Último mensaje 29 Septiembre 2015, 07:24 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines