Changeset 85 for trunk/data


Ignore:
Timestamp:
03/28/11 09:54:07 (13 years ago)
Author:
frank.jaeger
Message:

ALKIS-Navigation auch mit Parameter "Gemeinde-Liste", z.B. ein Wasserverband als Teil eines Kreisgebietes

Location:
trunk/data/mapbender/http/nav
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/mapbender/http/nav/alkisnav_adr.php

    r83 r85  
    11<?php 
    2 /* Version vom 24.03.2011  
    3         bei HsNr auch Gemeinde in Where 
    4         Anzeige Gemeinde wenn nicht in Filter */ 
     2/* Version vom  
     3        24.03.2011: bei HsNr auch Gemeinde in Where, Anzeige Gemeinde je nach Filter  
     4        25.03.2011: parameter &gemeinde= auch als Liste moeglich 
     5        z.B. Wasserverband zustaendig fuer: &gemeinde=12,20,24,28,32 
     6*/ 
    57import_request_variables("PG"); 
    68include("../../conf/alkisnav_conf.php"); 
     
    2426function suchStrName() { 
    2527        // Strassen nach Name(-nsanfang) 
    26         global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $debug; 
     28        global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $gfilter, $debug; 
    2729        $linelimit=120;  // -> in die Conf? 
    2830        preg_match("/^(\D+)(\d*)(\D*)/",$street,$matches); # 4 matches name/nr/zusatz echo "match: ".$matches[1].",".$matches[2].",".$matches[3]; 
     
    3840        $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 
    3941        $sql.="WHERE k.bezeichnung ILIKE $1 "; 
    40         if($gemeinde > 0) { // Filter Gemeinde? 
    41                 $sql.="AND k.gemeinde=".$gemeinde." "; 
    42         } 
     42  
     43//      if($gemeinde > 0) { // Filter Gemeinde? 
     44//              $sql.="AND k.gemeinde=".$gemeinde." "; 
     45//      } 
     46 
     47        switch ($gfilter) { 
     48                case 1: // Einzelwert 
     49                        $sql.="AND k.gemeinde=".$gemeinde." "; 
     50                        break; 
     51                case 2: // Liste 
     52                        $sql.="AND k.gemeinde in (".$gemeinde.") "; 
     53                        break; 
     54                default: // kein Filter 
     55                        break; 
     56        } 
     57 
    4358        $sql.="ORDER BY k.bezeichnung, g.bezeichnung, k.lage LIMIT $2 ;"; 
    4459        $v=array($match,$linelimit); 
     
    5873                                echo $sname; // nicht brauchbar fuer ax_lagebezeichnungmithausnummer.lage (Integer) 
    5974                        } 
    60                         if ($gemeinde == "") {echo " in ".$gemname;} 
     75                        //if ($gemeinde == "") {echo " in ".$gemname;} 
     76                         
     77                        switch ($gfilter) { 
     78                                case 0: // Kein Filter 
     79                                        echo " in ".$gemname; 
     80                                        break; 
     81                                case 2: // Liste 
     82                                        echo " in ".$gemname; 
     83                                        break; 
     84                                default: // Einzelwert 
     85                                        break; 
     86                        }                        
     87                         
    6188                echo "</div>"; 
    6289                $cnt++; 
     
    74101function suchStrKey() { 
    75102        // Strassen nach Strassen-Schluessel 
    76         global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $debug; 
     103        global $con, $street, $scalestr, $str_schl, $gkz, $gemeinde, $gfilter, $debug; 
    77104        $linelimit=50; 
    78105        if(preg_match("/\*/",$street)) { 
     
    87114        $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 
    88115        $sql.="WHERE k.lage LIKE $1 "; 
    89         if($gemeinde > 0) { // Filter Gemeinde? 
    90                 $sql.="AND k.gemeinde=".$gemeinde." "; 
    91         } 
     116 
     117//      if($gemeinde > 0) { // Filter Gemeinde? 
     118//              $sql.="AND k.gemeinde=".$gemeinde." "; 
     119//      } 
     120 
     121        switch ($gfilter) { 
     122                case 1: // Einzelwert 
     123                        $sql.="AND k.gemeinde=".$gemeinde." "; 
     124                        break; 
     125                case 2: // Liste 
     126                        $sql.="AND k.gemeinde in (".$gemeinde.") "; 
     127                        break; 
     128                default: // kein Filter 
     129                        break; 
     130        } 
     131 
    92132        $sql.="ORDER BY k.lage, k.bezeichnung LIMIT $2 ;"; 
    93133        $v=array($match,$linelimit); 
     
    104144                        echo $skey." <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;str_schl=".$gkey."' title='".$gemname."'>".$sname; 
    105145                        echo "</a>"; 
    106                         if ($gemeinde == "") {echo " in ".$gemname;} 
     146 
     147//                      if ($gemeinde == "") {echo " in ".$gemname;} 
     148 
     149                        switch ($gfilter) { 
     150                                case 0: // Kein Filter 
     151                                        echo " in ".$gemname; 
     152                                        break; 
     153                                case 2: // Liste 
     154                                        echo " in ".$gemname; 
     155                                        break; 
     156                                default: // Einzelwert 
     157                                        break; 
     158                        } 
     159 
    107160                echo "</div>"; 
    108161                $cnt++; 
     
    122175function suchHausZurStr($showParent){ 
    123176        // Haeuser zu einer Strasse 
    124         global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $debug; 
     177        global $con, $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $gfilter, $debug; 
    125178        // Strasse zum Strassenschluessel 
    126179        $sql ="SELECT g.bezeichnung AS gemname, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage "; 
     
    176229                                echo $sname." (".$nr.")"; // nur Anzeige, ohne Link 
    177230                        } 
    178                         if ($gemeinde == "") {echo " in ".$gemname;} 
     231 
     232//                      if ($gemeinde == "") {echo " in ".$gemname;} 
     233                         
     234                        switch ($gfilter) { 
     235                                case 0: // Kein Filter 
     236                                        echo " in ".$gemname; 
     237                                        break; 
     238                                case 2: // Liste 
     239                                        echo " in ".$gemname; 
     240                                        break; 
     241                                default: // Einzelwert 
     242                                        break; 
     243                        }                        
     244                         
    179245                        echo "\n</div>"; 
    180246                } 
     
    237303} 
    238304if ($debug >= 2) { 
    239         if(isset($gemeinde)) {echo "<p>Filter Gemeinde = ".$gemeinde."</p>"; 
    240         } else {echo "\n<p>Kein Filter Gemeinde</p>";} 
     305        echo "<p>Filter Gemeinde = ".$gemeinde."</p>"; 
     306} 
     307if ($gemeinde == "") { 
     308        $gfilter = 0; // ungefiltert 
     309} elseif(strpos($gemeinde, ",") === false) { 
     310        $gfilter = 1; // Einzelwert 
     311} else { 
     312        $gfilter = 2; // Liste 
    241313} 
    242314if (isset($str_schl)) { // aus Link 
  • trunk/data/mapbender/http/nav/alkisnav_fls.php

    r68 r85  
    11<?php 
    2 // Version vom 13.01.2011  
     2/* Version vom 
     3        13.01.2011 
     4        25.03.2011 Filter als Gemeinde-Liste 
     5*/ 
    36import_request_variables("PG"); 
    47include("../../conf/alkisnav_conf.php"); 
     
    6467function SuchGmkgName() { 
    6568// Gemarkung suchen nach Name(-nsanfang) 
    66         global $con, $gkz, $gemeinde, $debug, $fskennz; 
     69        global $con, $gkz, $gemeinde, $debug, $fskennz, $gfilter; 
    6770        $linelimit=120; 
    6871        if(preg_match("/\*/",$fskennz)){ 
     
    7477        $sql.="FROM ax_gemarkung g JOIN gemeinde_gemarkung v ON g.gemarkungsnummer=v.gemarkung "; 
    7578   $sql.="WHERE bezeichnung ILIKE $1 "; 
    76         if($gemeinde > 0) {$sql.=" AND v.gemeinde=".$gemeinde;} // wie prepared? 
     79 
     80//      if($gemeinde > 0) { 
     81//              $sql.=" AND v.gemeinde=".$gemeinde; 
     82//      } // wie prepared? 
     83 
     84        switch ($gfilter) { 
     85                case 1: // Einzelwert 
     86                        $sql.="AND v.gemeinde=".$gemeinde." "; 
     87                        break; 
     88                case 2: // Liste 
     89                        $sql.="AND v.gemeinde in (".$gemeinde.") "; 
     90                        break; 
     91                default: // kein Filter 
     92                        break; 
     93        } 
     94 
    7795        $sql.=" ORDER BY g.bezeichnung LIMIT $2 ;"; 
    7896        $v=array($match, $linelimit); 
     
    93111                        echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;fskennz=".$gnr."'>";              
    94112                        echo  " ".$gnam."</a> (".$gnr.")"; 
    95                         if ($gemeinde == 0) {echo " ".$stadt;} // Kreisweit 
     113 
     114//                      if ($gemeinde == 0) {echo " ".$stadt;} // Kreisweit 
     115                        switch ($gfilter) { 
     116                                case 0: // Kein Filter 
     117                                        echo " ".$stadt; 
     118                                        break; 
     119                                case 2: // Liste 
     120                                        echo " ".$stadt; 
     121                                        break; 
     122                                default: // Einzelwert 
     123                                        break; 
     124                        } 
     125 
    96126                echo "\n</div>"; 
    97127                $cnt++; 
     
    280310} 
    281311if ($debug >= 2) { 
    282         if(isset($gemeinde)) {echo "<p>Filter Gemeinde = ".$gemeinde."</p>"; 
    283         } else {echo "<p>Kein Filter Gemeinde</p>";} 
     312        echo "<p>Filter Gemeinde = ".$gemeinde."</p>"; 
     313} 
     314if ($gemeinde == "") { 
     315        $gfilter = 0; // ungefiltert 
     316} elseif(strpos($gemeinde, ",") === false) { 
     317        $gfilter = 1; // Einzelwert 
     318} else { 
     319        $gfilter = 2; // Liste 
    284320} 
    285321 
Note: See TracChangeset for help on using the changeset viewer.