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 :
  1. la flèche suivant indique toujours page 2
  2. le numéro de la page courante n'est pas en surbrillance (selected)

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&amp;page='.($page - 1).'">&lt;</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&amp;page='.$i.'">'.$i.'</a> </li>';  
				}
			}
		}
		if ($page < $num_pages)  {
		    $num .= '<li><a href="'.magixHtml::getUrl().'/index.php?idnav_admin=2&amp;page='.($page + 1).'">&gt;</a></li>';
		}
		return $num;
	  }
 
} /*** end of class ***/
?>
Je ne comprend pas trop pourquoi a vrai dire, sinon la pagination s'exécute bien