From d9c59635b5bdd2f5d9eb84e798e8751d8c9ada75 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Thu, 16 Aug 2018 09:35:51 -0400 Subject: [PATCH] Add paging to the member search leads. Adding in the state and date range searches for paging. --- models/admin/travel/members.php | 35 ++++++++++++++----- .../create_database_V0.0.5.sql | 4 ++- views/admin/travel/members.html | 27 ++++++++++++++ 3 files changed, 57 insertions(+), 9 deletions(-) diff --git a/models/admin/travel/members.php b/models/admin/travel/members.php index b88fa35..8fb20d5 100644 --- a/models/admin/travel/members.php +++ b/models/admin/travel/members.php @@ -91,11 +91,11 @@ class GlmMembersAdmin_travel_members extends GlmDataTravelLeads $search_id = false; $numbDisplayed = false; $lastDisplayed = false; - $paging = false; + $paging = true; $prevStart = false; $nextStart = false; - $start = '';//1; - $limit = '';//20; // Set to the number of listings per page + $start = 1; + $limit = 20; // Set to the number of listings per page $haveLeads = false; $leadCount = 0; $addingLead = false; @@ -323,13 +323,32 @@ class GlmMembersAdmin_travel_members extends GlmDataTravelLeads } // $entry = $this->getList( $where ); - $orderBy = 'T.company ASC,T.lname ASC,T.fname ASC,T.updated DESC'; - $entryResults = $this->getList( $where, $orderBy ); + $orderBy = 'T.company ASC,T.lname ASC,T.fname ASC,T.updated DESC'; + $entryResults = $this->getList( $where, $orderBy, true, 'id', $start, $limit ); + $stats = $this->getStats( $where ); + // echo '
$entryResults: ' . print_r( $entryResults, true ) . '
'; + echo '
$stats: ' . print_r( $stats, true ) . '
'; + + // Check if we're doing paging + if (isset($_REQUEST['pageSelect'])) { + // If request is for Next + if ($_REQUEST['pageSelect'][0] == 'N') { + $newStart = $_REQUEST['nextStart'] - 0; + + // Otherwise it must be Previous + } else { + $newStart = $_REQUEST['prevStart'] - 0; + } + + if ($newStart > 0) { + $start = $newStart; + } + } // Get paging results $params = ''; $numbDisplayed = $entryResults['returned']; - $leadCount = $numbDisplayed; + // $leadCount = $numbDisplayed; $lastDisplayed = $entryResults['last']; if ( $start == 1 ) { $prevStart = false; @@ -342,12 +361,12 @@ class GlmMembersAdmin_travel_members extends GlmDataTravelLeads if ( $entryResults['returned'] == $limit ) { $nextStart = $start + $limit; } - $entry = $entryResults;//$entryResults['list']; + $entry = $entryResults['list']; if ( count( $entry ) > 0 ) { $haveLeads = true; } - $leadCount = count( $entry ); + $leadCount = $stats; $view = 'members.html'; diff --git a/setup/databaseScripts/create_database_V0.0.5.sql b/setup/databaseScripts/create_database_V0.0.5.sql index 863163c..d95b09f 100644 --- a/setup/databaseScripts/create_database_V0.0.5.sql +++ b/setup/databaseScripts/create_database_V0.0.5.sql @@ -106,5 +106,7 @@ CREATE TABLE {prefix}search_reports ( id INT NOT NULL AUTO_INCREMENT, member_id INT NOT NULL, -- Member Id search_date DATETIME NOT NULL, -- date time of the search - PRIMARY KEY (id) + PRIMARY KEY (id), + INDEX(member_id), + INDEX(search_date) ); diff --git a/views/admin/travel/members.html b/views/admin/travel/members.html index 2933d4d..1e51cf2 100644 --- a/views/admin/travel/members.html +++ b/views/admin/travel/members.html @@ -37,7 +37,29 @@ +
+ + + + + + +

Total found: {$leadCount}  

+ {if $paging} + + {if isset($smarty.request.company)}{/if} + {if isset($smarty.request.contact)}{/if} + {if isset($smarty.request.from_date)}{/if} + {if isset($smarty.request.to_date)}{/if} + {if isset($smarty.request.state)} + {foreach $smarty.request.state as $rState} + + {/foreach} + {/if} + + + {/if} @@ -72,6 +94,11 @@
+ {if $paging} + + + {/if} +
{else} -- 2.17.1