コード例 #1
0
 public static function QueriedSiteListInAreasInIdList($areas, $ids, $iteratorCallback)
 {
     $from = "FROM " . GeoliveHelper::AttributeTable() . " a inner join " . GeoliveHelper::MapitemTable() . " m on a.mapitem = m.id WHERE m.lid IN (" . implode(', ', array_map(function ($layer) {
         return $layer->getId();
     }, self::VisibleLayers())) . ") AND m.id IN(" . implode(', ', array_map(function ($id) {
         return (int) $id;
     }, $ids)) . ")";
     $paWhere = 'AND (' . implode(' OR ', array_map(function ($pa) {
         return 'lower(trim(a.paddlingArea))  = lower(trim(\'' . GeoliveHelper::Database()->escape($pa) . '\'))';
     }, $areas)) . ')';
     $query = "SELECT * {$from} {$paWhere} order by m.name";
     self::Database()->iterate($query, $iteratorCallback);
 }