Bonsoir je cherche désespérément à faire fonctionné correctement ma class de pagination.
Le probléme avec celle-ci est que certaine condition ne sont pas remplie.
En faites 2 bug persiste :
- la flèche suivant indique toujours page 2
- le numéro de la page courante n'est pas en surbrillance (selected)
Je ne comprend pas trop pourquoi a vrai dire, sinon la pagination s'exécute bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 class magixPagination{ /** * @calculate page offset * * @param int $limit * @param object $page * @return int */ function pageOffset($limit,$page){ //return $limit * ($page-1); return ($page - 1) * $limit; } /** * @calculate paging information * * @access * * @param void $request * * @param int $limit * * @param object $page * * @return object * **/ function pagerData($request,$as,$limit,$page){ $num = ''; foreach ($request as $t) $num_pages = $t[$as]; $num_pages = ceil($num_pages/$limit); $page = max($page, 1); $page = min($page, $num_pages); if($page > $limit || $page <= 0) { $page = 1; } $offset = $page; if($offset > $num_pages) { $offset = $num_pages; } $offset = $this->pageOffset($limit,$page); if($page != 1) { $num .= '<li><a href="'.magixHtml::getUrl().'/index.php?idnav_admin=2&page='.($page - 1).'"><</a></li>'; } if($num_pages>1){ for($i=1; $i<=$num_pages; $i++){ if($i==$offset){ $num .= '<li class="selected">'.$i.'</li>'; }else{ $num .= '<li> <a href="'.magixHtml::getUrl().'/index.php?idnav_admin=2&page='.$i.'">'.$i.'</a> </li>'; } } } if ($page < $num_pages) { $num .= '<li><a href="'.magixHtml::getUrl().'/index.php?idnav_admin=2&page='.($page + 1).'">></a></li>'; } return $num; } } /*** end of class ***/ ?>
Partager