Changeset 425 for trunk/mapbender/http/nav/alkisnav_adr.php
- Timestamp:
- 12/30/21 17:49:00 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mapbender/http/nav/alkisnav_adr.php
r413 r425 8 8 2018-02-15 Strikte Input-Validation der Parameter 9 9 2018-11-12 Full-Schema 10 2021-11-24 Neue Var. $katamtmix (Kataster-Amt-Mix). 11 SchlÃŒsseltabellen sind mehrfach belegt. Dadurch doppelte Treffer bei der Suche. 12 10 13 ToDo: 11 14 - Gruppierung (mit Zeile) der StraÃenliste nach Gemeinde … … 47 50 $gfilter = 0; 48 51 } 49 // // http://skrzmaptest01.asp.krzwan.de/mapbender/nav/alkisnav_adr.php?gkz=210&gemeinde=004&epsg=25832&str_schl=057580040179850 52 if (isset($str_schl) ) { 51 53 if (!preg_match('#^[0-9]{4,13}$#', $str_schl)) {die("Eingabefehler Stra&zlig;enschlüssel");} … … 90 92 function suchStrName() { 91 93 // Strassen nach Name(-nsanfang) 92 global $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug, $auskpath ;94 global $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug, $auskpath, $katamtmix; 93 95 //if ($debug > 1) {echo "<p class='dbg'>function suchStrName()<p>";} // Ablauf-Verfolgung 94 96 95 97 $linelimit=120; // -> in Conf? 96 $str_schl=""; // L oeschen vorh. Ergebnis98 $str_schl=""; // Löschen vorh. Ergebnis 97 99 preg_match("/^(\D+)(\d*)(\D*)/",$street,$matches); # 4 matches name/nr/zusatz 98 100 //echo "match: 1='".$matches[1]."', 2='".$matches[2]."', 3='".$matches[3]."'"; … … 108 110 $sql ="SELECT g.gemeinde, g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage " 109 111 ."FROM ax_lagebezeichnungkatalogeintrag k " 110 ."JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde " 111 ."WHERE k.bezeichnung ILIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 112 ."JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 113 if ($katamtmix){$sql.="AND substr(k.gml_id,1,6) = substr(g.gml_id,1,6) ";} 114 $sql.="WHERE k.bezeichnung ILIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 112 115 113 116 switch ($gfilter) { … … 143 146 $gwgem=$gemname; 144 147 } 145 $gkey=$row["schluesselgesamt"]; // Land-RegBez-Kreis-Gem-Stra sse - fÃŒr weitere Suche148 $gkey=$row["schluesselgesamt"]; // Land-RegBez-Kreis-Gem-StraÃe - fÃŒr weitere Suche 146 149 $skey=$row["lage"]; // Nur Str.-schl. daraus 147 150 $kgml=$row["gml_id"]; // ID von Katalog … … 164 167 } 165 168 166 function suchStrKey() { // Stra ssen nach num. Schluessel167 global $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug, $auskpath ;169 function suchStrKey() { // StraÃen nach num. SchlÃŒssel 170 global $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug, $auskpath, $katamtmix; 168 171 //if ($debug > 1) {echo "<p class='dbg'>function suchStrKey()<p>";} // Ablauf-Verfolgung 169 172 $linelimit=60; … … 174 177 $match=str_pad($street, 5, "0", STR_PAD_LEFT); // "Wie eine Zahl" verarbeiten 175 178 } 179 176 180 $sql ="SELECT g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage " 177 181 ."FROM ax_lagebezeichnungkatalogeintrag as k " 178 ."JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde " 179 ."WHERE k.lage LIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 182 ."JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 183 if ($katamtmix){$sql.="AND substr(k.gml_id,1,6) = substr(g.gml_id,1,6) ";} 184 $sql.="WHERE k.lage LIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 180 185 switch ($gfilter) { 181 186 case 1: // Einzelwert … … 217 222 } 218 223 219 function suchHausZurStr($showParent) { // H aeuser zu einer Strasse220 global $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $debug, $auskpath ;224 function suchHausZurStr($showParent) { // HÀuser zu einer StraÃe 225 global $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $debug, $auskpath, $katamtmix; 221 226 //if ($debug > 1) {echo "<p class='dbg'>function suchHausZurStr()<p>";} // Ablauf-Verfolgung 222 227 223 228 // Head 224 // Stra sse zum Strassenschluessel229 // StraÃe zum StrassenschlÃŒssel 225 230 $sql ="SELECT g.bezeichnung AS gemname, k.gml_id AS kgml, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage " 226 231 ."FROM ax_lagebezeichnungkatalogeintrag as k " 227 ."JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde " 228 ."WHERE k.schluesselgesamt = $1 AND k.endet IS NULL AND g.endet IS NULL LIMIT 1"; 229 230 $v=array($str_schl); // Schluessel-Gesamt .. 232 ."JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde "; 233 if ($katamtmix){$sql.="AND substr(k.gml_id,1,6) = substr(g.gml_id,1,6) ";} 234 $sql.="WHERE k.schluesselgesamt = $1 AND k.endet IS NULL AND g.endet IS NULL LIMIT 1"; 235 236 $v=array($str_schl); // SchlÃŒssel-Gesamt .. 231 237 $res=pg_prepare("", $sql); 232 238 $res=pg_execute("", $v); … … 238 244 239 245 if($row = pg_fetch_array($res)) { // .. gefunden 240 $kgml=$row["kgml"]; // ID aus Katalog246 $kgml=$row["kgml"]; // ID aus Katalog 241 247 $sname=$row["bezeichnung"]; 242 248 $land =$row["land"]; // Einzel-Felder fÃŒr JOIN _lagebezeichnung_ … … 247 253 $gemname=htmlentities($row["gemname"], ENT_QUOTES, "UTF-8"); 248 254 if ($showParent) { 249 // EINE Koordinate zur Stra sse besorgen255 // EINE Koordinate zur StraÃe besorgen 250 256 // ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer 251 257 $sqlko ="SELECT "; … … 300 306 301 307 // Body 302 // H aeuser zum Strassenschluessel308 // HÀuser zum StraÃenschlÃŒssel 303 309 $sql="SELECT min(replace(h.hausnummer,' ','')) AS hsnr, "; 304 310 if($epsg == "25832") { // Transform nicht notwendig … … 348 354 $cnt++; 349 355 $count++; 350 if($count == 7) { // Max. Haus nummernje Zeile (Test: 3stellige HsNr mit Zusatz)356 if($count == 7) { // Max. HausNr je Zeile (Test: 3stellige HsNr mit Zusatz) 351 357 echo "\n</tr>"; 352 358 $count = 0; … … 363 369 return; 364 370 } 365 // =========== 371 366 372 // Start hier! 367 // ===========368 373 369 374 // Validation: Eingabefeld aus Formular. 370 // Suchbegriff (StraÃenname)oder StraÃenschlÃŒssel.375 // Suchbegriff StraÃenname oder StraÃenschlÃŒssel. 371 376 // Hier formatierte Meldung und html-Foot. 372 377 if (isset($street) and $street != "" ) { … … 398 403 } 399 404 400 // Nach Durchlaufen des PHP-Scriptes die zuletzt ausgefÃŒhrte Transaktion 401 // im Kopf des Ergebnisrahmens anzeigen. 405 // Nach Durchlaufen des PHP-Scriptes die zuletzt ausgefÃŒhrte Transaktion im Kopf des Ergebnisrahmens anzeigen. 402 406 // Dazu die im HTML-Header definierte Javascript-Function benutzen. 403 407 // Alternativ wird auch aus dem Javascript "positionieren Karte" dieser Titel gesetzt.
Note: See TracChangeset
for help on using the changeset viewer.