public function getMemberSearchCount($memberSearchParameters, $dbConnection = null)
 {
     $recordCount = 0;
     $preparedStatement = null;
     try {
         $memberSearchCountQuery = "SELECT COUNT(M.MEMBER_ID) AS COUNT FROM member M WHERE M.ACTIVE = 1 ";
         $memberSearchCountQuery .= MemberSearchDao::getMemberSearchWhereClause($memberSearchParameters);
         $preparedStatement = MemberSearchDao::getMemberSearchPreparedStatement($memberSearchCountQuery, $memberSearchParameters, $dbConnection);
         $preparedStatement->execute();
         while ($result = $preparedStatement->fetch()) {
             $recordCount = $result['COUNT'];
         }
     } catch (Exception $ex) {
         echo "getMemberSearchCount Error: " . $ex->getMessage();
     }
     $preparedStatement = null;
     return $recordCount;
 }
 public function searchForBandMembersAdvanced($bandID, $firstName, $lastName, $gender, $ageRange, $country, $state, $city, $region, $searchType, $currentPage, $pagingAmount, $dbConnection = null)
 {
     $memberSearchResults = null;
     $memberSkeletons = null;
     $countryID = null;
     $stateID = null;
     $cityID = null;
     $regionID = null;
     try {
         $memberSearchParameters = new SearchParameters();
         $memberSearchParameters->setVariable(SearchConstants::SEARCH_TYPE_INPUT_ID, $searchType);
         $memberSearchParameters->setVariable(SearchConstants::CURRENT_PAGE_ID, $currentPage);
         $memberSearchParameters->setVariable(SearchConstants::PAGING_AMOUNT_ID, $pagingAmount);
         $memberSearchParameters->setVariable(MemberSearchConstants::BAND_INPUT_ID, $bandID);
         //These elements are common to both search types
         $countryID = SearchUtilities::processSelectValues($country, 'defaultValue', '0');
         if ($countryID != null) {
             $stateID = SearchUtilities::processSelectValues($state, 'defaultValue', '0');
         }
         if ($stateID != null) {
             $cityID = SearchUtilities::processSelectValues($city, 'defaultValue', '0');
         }
         if ($cityID != null) {
             $regionID = SearchUtilities::processSelectValues($region, 'defaultValue', '0');
         }
         $memberSearchParameters->setVariable(LocationConstants::LOCATION_COUNTRY_INPUT_ID, $countryID);
         $memberSearchParameters->setVariable(LocationConstants::LOCATION_STATE_INPUT_ID, $stateID);
         $memberSearchParameters->setVariable(LocationConstants::LOCATION_CITY_INPUT_ID, $cityID);
         $memberSearchParameters->setVariable(LocationConstants::LOCATION_REGION_INPUT_ID, $regionID);
         $memberSearchParameters->setVariable(MemberSearchConstants::FIRST_NAME_INPUT_ID, $firstName);
         $memberSearchParameters->setVariable(MemberSearchConstants::LAST_NAME_INPUT_ID, $lastName);
         $memberSearchParameters->setVariable(MemberSearchConstants::GENDER_INPUT_ID, $gender);
         $memberSearchParameters->setVariable(MemberSearchConstants::AGE_INPUT_ID, $lastName);
         $memberCount = MemberSearchDao::getMemberSearchCount($memberSearchParameters, $dbConnection);
         $memberSkeletons = MemberSearchDao::searchMembers($memberSearchParameters, $ageRange);
         $memberSearchResults = new SearchResults();
         $memberSearchResults->setVariable(SearchResults::SEARCH_PARAMETERS, $memberSearchParameters);
         $memberSearchResults->setVariable(SearchResults::SKELETONS, $memberSkeletons);
         $memberSearchResults->setVariable(SearchResults::COUNT, $memberCount);
         $memberSearchResults->setVariable(SearchResults::PAGE_COUNT, ceil($memberCount / $pagingAmount));
     } catch (Exception $e) {
         $memberSearchResults = null;
         echo 'Caught exception: ', $e->getMessage(), "\n";
     }
     return $memberSearchResults;
 }