Fixed bug #511
A pagination problem was causing duplicated records https://doliforge.org/tracker/?func=detail&aid=511&group_id=144
This commit is contained in:
parent
4a5d89e6cc
commit
43e4f139d5
@ -5,6 +5,7 @@
|
||||
* Copyright (C) 2004 Christophe Combelles <ccomb@free.fr>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@@2byte.es>
|
||||
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -210,7 +211,7 @@ if ($id > 0 || ! empty($ref))
|
||||
$mode_search = 1;
|
||||
}
|
||||
|
||||
$sql = "SELECT count(*) as nb";
|
||||
$sql = "SELECT count(*) as count";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account as ba";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."bank as b";
|
||||
if ($mode_search)
|
||||
@ -228,22 +229,22 @@ if ($id > 0 || ! empty($ref))
|
||||
if ($result)
|
||||
{
|
||||
$obj = $db->fetch_object($result);
|
||||
$nbline = $obj->nb;
|
||||
$nbline = $obj->count;
|
||||
$total_lines = $nbline;
|
||||
|
||||
if ($nbline > $viewline ) $limit = $nbline - $viewline ;
|
||||
else $limit = $viewline;
|
||||
|
||||
$db->free($result);
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
|
||||
//Total pages
|
||||
$totalPages = ceil($total_lines/$viewline);
|
||||
|
||||
if ($page > 0)
|
||||
{
|
||||
$limitsql = $nbline - ($page * $viewline);
|
||||
$limitsql = ($totalPages - $page) * $viewline;
|
||||
if ($limitsql < $viewline) $limitsql = $viewline;
|
||||
$nbline = $limitsql;
|
||||
}
|
||||
@ -284,21 +285,19 @@ if ($id > 0 || ! empty($ref))
|
||||
$param.='&account='.$object->id;
|
||||
|
||||
// Define transaction list navigation string
|
||||
$navig='';
|
||||
$navig.='<form action="'.$_SERVER["PHP_SELF"].'" name="newpage" method="GET">';
|
||||
$nbpage=floor($total_lines/$viewline)+($total_lines % $viewline > 0?1:0); // Nombre de page total
|
||||
//print 'nbpage='.$nbpage.' viewline='.$viewline.' limitsql='.$limitsql;
|
||||
$navig = '<form action="'.$_SERVER["PHP_SELF"].'" name="newpage" method="GET">';
|
||||
//print 'nbpage='.$totalPages.' viewline='.$viewline.' limitsql='.$limitsql;
|
||||
if ($limitsql > $viewline) $navig.='<a href="account.php?'.$param.'&page='.($page+1).'">'.img_previous().'</a>';
|
||||
$navig.= $langs->trans("Page")." "; // ' Page ';
|
||||
$navig.='<input type="text" name="negpage" size="1" class="flat" value="'.($nbpage-$page).'">';
|
||||
$navig.='<input type="text" name="negpage" size="1" class="flat" value="'.($totalPages-$page).'">';
|
||||
$navig.='<input type="hidden" name="req_nb" value="'.$req_nb.'">';
|
||||
$navig.='<input type="hidden" name="req_desc" value="'.GETPOST("req_desc").'">';
|
||||
$navig.='<input type="hidden" name="req_debit" value="'.GETPOST("req_debit").'">';
|
||||
$navig.='<input type="hidden" name="req_credit" value="'.GETPOST("req_credit").'">';
|
||||
$navig.='<input type="hidden" name="thirdparty" value="'.$thirdparty.'">';
|
||||
$navig.='<input type="hidden" name="nbpage" value="'.$nbpage.'">';
|
||||
$navig.='<input type="hidden" name="nbpage" value="'.$totalPages.'">';
|
||||
$navig.='<input type="hidden" name="id" value="'.$object->id.'">';
|
||||
$navig.='/'.$nbpage.' ';
|
||||
$navig.='/'.$totalPages.' ';
|
||||
if ($total_lines > $limitsql )
|
||||
{
|
||||
$navig.= '<a href="'.$_SERVER["PHP_SELF"].'?'.$param.'&page='.($page-1).'">'.img_next().'</a>';
|
||||
@ -481,7 +480,7 @@ if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
$objp = $db->fetch_object($result);
|
||||
$total = price2num($total + $objp->amount,'MT');
|
||||
if ($i >= ($nbline - $viewline))
|
||||
if ($i >= ($viewline * (($totalPages-$page)-1)))
|
||||
{
|
||||
$var=!$var;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user