[Weberp-svn] SF.net SVN: weberp:[8786] trunk
Brought to you by:
sotandeka,
tim_schofield
From: <tim...@us...> - 2012-05-04 10:45:22
|
Revision: 8786 http://weberp.svn.sourceforge.net/weberp/?rev=8786&view=rev Author: tim_schofield Date: 2012-05-04 10:45:11 +0000 (Fri, 04 May 2012) Log Message: ----------- Improve the customer search for large data sets Modified Paths: -------------- trunk/SelectCustomer.php trunk/includes/CustomerSearch.php Modified: trunk/SelectCustomer.php =================================================================== --- trunk/SelectCustomer.php 2012-05-04 10:45:00 UTC (rev 8785) +++ trunk/SelectCustomer.php 2012-05-04 10:45:11 UTC (rev 8786) @@ -87,7 +87,7 @@ if (!isset($_POST['PageOffset'])) { $_POST['PageOffset'] = 0; } -$result=CustomerSearchSQL($_POST['PageOffset'], $db); +$result=CustomerSearchSQL($db); if (!isset($_POST['Search']) and isset($_POST['JustSelectedACustomer']) and empty($_SESSION['CustomerID'])){ /*Need to figure out the number of the form variable that the user clicked on */ for ($i=0; $i< count($_POST); $i++){ //loop through the returned customers Modified: trunk/includes/CustomerSearch.php =================================================================== --- trunk/includes/CustomerSearch.php 2012-05-04 10:45:00 UTC (rev 8785) +++ trunk/includes/CustomerSearch.php 2012-05-04 10:45:11 UTC (rev 8786) @@ -105,8 +105,19 @@ } } -function CustomerSearchSQL($OffSet, $db) { +function CustomerSearchSQL($db) { if (isset($_POST['Search']) OR isset($_POST['Go']) OR isset($_POST['Next']) OR isset($_POST['Previous'])) { + $ListPageMax = ceil($_SESSION['ListCount'] / $_SESSION['DisplayRecordsMax']); + if (isset($_POST['Next'])) { + if ($_POST['PageOffset'] < $ListPageMax) { + $_POST['PageOffset'] = $_POST['PageOffset'] + 1; + } + } + if (isset($_POST['Previous'])) { + if ($_POST['PageOffset'] > 1) { + $_POST['PageOffset'] = $_POST['PageOffset'] - 1; + } + } if (isset($_POST['Search'])) { $_POST['PageOffset'] = 1; } @@ -175,7 +186,7 @@ $CountResult=DB_query($SQL, $db); $_SESSION['ListCount']=DB_num_rows($CountResult); $SQL.= " ORDER BY debtorsmaster.name"; - $SQL.= " LIMIT ".($OffSet*$_SESSION['DisplayRecordsMax']).", ".$_SESSION['DisplayRecordsMax']; + $SQL.= " LIMIT ".($_POST['PageOffset']*$_SESSION['DisplayRecordsMax']).", ".$_SESSION['DisplayRecordsMax']; $ErrMsg = _('The searched customer records requested cannot be retrieved because'); $result = DB_query($SQL, $db, $ErrMsg); @@ -189,17 +200,6 @@ function ShowReturnedCustomers($result) { unset($_SESSION['CustomerID']); - $ListPageMax = ceil($_SESSION['ListCount'] / $_SESSION['DisplayRecordsMax']); - if (isset($_POST['Next'])) { - if ($_POST['PageOffset'] < $ListPageMax) { - $_POST['PageOffset'] = $_POST['PageOffset'] + 1; - } - } - if (isset($_POST['Previous'])) { - if ($_POST['PageOffset'] > 1) { - $_POST['PageOffset'] = $_POST['PageOffset'] - 1; - } - } echo '<input type="hidden" name="PageOffset" value="' . $_POST['PageOffset'] . '" />'; if ($ListPageMax > 1) { echo '<br /><div class="centre"> ' . $_POST['PageOffset'] . ' ' . _('of') . ' ' . $ListPageMax . ' ' . _('pages') . '. ' . _('Go to Page') . ': '; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |