function outputFilteredVisits($dbAdapter) { $joinWhereClause = "visits.country_code = countries.ISO"; $filterWhereClause = ""; $fromClause = "visits, countries"; if ($_GET["type"] != "") { $joinWhereClause .= " AND visits.device_type_id = device_types.id"; $filterWhereClause .= " AND device_types.name = '" . $_GET["type"] . "'"; $fromClause .= ", device_types"; } if ($_GET["brand"] != "") { $joinWhereClause .= " AND visits.device_brand_id = device_brands.id"; $filterWhereClause .= " AND device_brands.name = '" . $_GET["brand"] . "'"; $fromClause .= ", device_brands"; } if ($_GET["browser"] != "") { $joinWhereClause .= " AND visits.browser_id = browsers.id"; $filterWhereClause .= " AND browsers.name = '" . $_GET["browser"] . "'"; $fromClause .= ", browsers"; //$firstFilter = false; } if ($_GET["referrer"] != "") { $joinWhereClause .= " AND visits.referrer_id = referrers.id"; $filterWhereClause .= " AND referrers.name = '" . $_GET["referrer"] . "'"; $fromClause .= ", referrers"; //$firstFilter = false; } if ($_GET["operatingSys"] != "") { $joinWhereClause .= " AND visits.os_id = operating_systems.id"; $filterWhereClause .= " AND operating_systems.name = '" . $_GET["operatingSys"] . "'"; $fromClause .= ", operating_systems"; } if ($_GET["country"] != "") { $filterWhereClause .= " AND countries.CountryName = '" . $_GET["country"] . "'"; } $joinWhereClause .= " "; $filterWhereClause .= " "; $fromClause .= " "; $visitGate = new VisitTableGateway($dbAdapter); $result = $visitGate->filteredVisitData($joinWhereClause, $fromClause, $filterWhereClause); $dataInfoArray = []; foreach ($result as $row) { $dataInfo = new stdClass(); $dataInfo->visitID = $row->id; $dataInfo->visitDate = $row->visit_date; $dataInfo->visitTime = $row->visit_time; $dataInfo->visitIP = $row->ip_address; $dataInfo->visitCountry = $row->countryName; array_push($dataInfoArray, $dataInfo); } echo json_encode($dataInfoArray); }