From 464fb913a8fcdc9b3f44647cd4cc0f3c1bc67c67 Mon Sep 17 00:00:00 2001 From: Brian Quinion Date: Tue, 11 Jun 2013 17:28:30 +0100 Subject: [PATCH] Allow for tiger addresses when filtering by rank --- website/search.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/website/search.php b/website/search.php index a29cb0cb..7cecb9ed 100755 --- a/website/search.php +++ b/website/search.php @@ -144,10 +144,10 @@ array('amenity', 26, 30, false), array('street', 26, 30, false), array('city', 14, 24, false), - array('postalcode', 5, 11, array(5, 11)), array('county', 9, 13, false), array('state', 8, 8, false), array('country', 4, 4, false), + array('postalcode', 5, 11, array(5, 11)), ); $aStructuredQuery = array(); $sAllowedTypesSQLList = ''; @@ -1157,7 +1157,10 @@ $sSQL .= "and (placex.rank_address between $iMinAddressRank and $iMaxAddressRank "; if (14 >= $iMinAddressRank && 14 <= $iMaxAddressRank) $sSQL .= " OR (extratags->'place') = 'city'"; if ($aAddressRankList) $sSQL .= " OR placex.rank_address in (".join(',',$aAddressRankList).")"; - $sSQL .= ") "; + $sSQL .= ") UNION select place_id from location_property_tiger where place_id in (".join(',',$aResultPlaceIDs).") "; + $sSQL .= "and (30 between $iMinAddressRank and $iMaxAddressRank "; + if ($aAddressRankList) $sSQL .= " OR 30 in (".join(',',$aAddressRankList).")"; + $sSQL .= ")"; if (CONST_Debug) var_dump($sSQL); $aResultPlaceIDs = $oDB->getCol($sSQL); } -- 2.39.5