Bug 4470 Patron search result pagination bar
authorFrédéric Demians <f.demians@tamil.fr>
Sat, 8 May 2010 06:27:51 +0000 (08:27 +0200)
committerGalen Charlton <gmcharlt@gmail.com>
Tue, 11 May 2010 10:09:36 +0000 (06:09 -0400)
Obviously, Koha global pagination function could be improved. This patch
do something which belongs to this function. A CPAN module like
Data::Page could help or be an inspiration... 3.4?

There is also room for improvement in they way resultset are
constructed. The whole set is retrieved and just a subset is displayed.
It impacts performances for libraries with a great number of patrons.
The right solution would be:

  - to find the resultset size with SELECT COUNT(*)
  - to retrieved the exact subset with LIMIT and OFFSET SQL arguments

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
members/member.pl

index 58485b6..e92ab43 100755 (executable)
@@ -147,7 +147,8 @@ $template->param( letters => \@letters );
 
 $template->param(
     paginationbar => pagination_bar(
-        $base_url,  int( $count / $resultsperpage ) + 1,
+        $base_url,
+        int( $count / $resultsperpage ) + ($count % $resultsperpage ? 1 : 0),
         $startfrom, 'startfrom'
     ),
     startfrom => $startfrom,