Changeset 402 for trunk/info


Ignore:
Timestamp:
04/23/18 15:33:39 (6 years ago)
Author:
frank.jaeger
Message:

ALKIS-Buchauskunft überarbeitet. z.B. Flurstücksnachweis mit allen Buchungen.

Location:
trunk/info/info/alkisn
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkisn/alkisauszug.css

    r398 r402  
    1919        2017-10-11      BodenschÀtzung 
    2020        2017-10-17      td.nwlink min-width 
    21         2017-12-20 td.dbg 
     21        2017-12-20      td.dbg 
     22        2018-04-23      Spaltenbreiten 
    2223*/ 
    2324body    {background-color: #FEFFFE;} 
     
    4445p.zus           {margin: 2pt; padding: 2pt; border:1px dotted maroon; background: white;} /* Zusatz zum Eigent., gerahmt */ 
    4546p.avh           {font-style: italic; color: navy;}      /* Anteilsverhaeltnis */ 
    46 p.ant           {font-style: italic; position: relative;left: 12px;} /* Anteil am FS */ 
     47p.ant           {font-style: italic; position: relative;} /* Anteil am FS  left: 12px;*/ 
    4748p.geig          {color: navy;}          /* GB-Nachw. Eigentuemer Name */ 
    4849p.gadr          {color: maroon; margin-top: 1pt;}       /* GB-Nachw. Eigentuemer Adresse */ 
     
    104105td.emz  {width: 45px; padding-right: 4px; padding-left: 4px; text-align: right;} */ 
    105106td.kurz {width: 26px; padding-left: 4px;} 
    106 td.nanu {width: 80px;}                          /* Namensnummer */ 
     107td.nanu {width: 50px;}                          /* Namensnummer */ 
    107108td.sond, p.sond {font-size: 9pt; font-style: italic; background-color: white; 
    108109                border: 1px dotted silver; padding: 6px;}       /* Sondereigentumsbeschreibung */ 
  • trunk/info/info/alkisn/alkisbaurecht.php

    r389 r402  
    88        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
    99        2017-10-09 Sauber filtern auf endet IS NULL 
     10        2018-04-23 &nodebug 
    1011*/ 
    1112session_start(); 
    12  
    13 $showkey="n"; // Var. aus Parameter initalisieren 
     13$showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 
    1414$cntget = extract($_GET); // Parameter in Variable umwandeln 
    1515 
     
    1919if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    2020if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     21if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    2122 
    2223require_once("alkis_conf_location.php"); 
     
    3536<body> 
    3637END; 
     38 
     39// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
     40// Manuell an die URL anfügen, wirkt nur temporär und wird nicht in Links weiter gereicht. 
     41if ($nodebug == "j") {$debug=0;}  
    3742 
    3843$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbaurecht.php'"); 
     
    5560        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = ".$gmlid."</p>";} 
    5661} 
    57 if ($row = pg_fetch_array($res)) { 
     62if ($row = pg_fetch_assoc($res)) { 
    5863        $artfest=$row["adfkey"];  // Art der Festlegung, Key 
    5964        $verfnr=$row["rechtbez"]; // Verfahrens-Nummer 
     
    147152 
    148153        $fscnt=0; 
    149         while($row = pg_fetch_array($res)) { 
     154        while($row = pg_fetch_assoc($res)) { 
    150155                $fscnt++; 
    151156                echo "\n<tr>" 
  • trunk/info/info/alkisn/alkisbestnw.php

    r398 r402  
    1111        2017-06-08 Validierung Eingabeparameter, Farbwechsel der Tabelle je GrundstÃŒck, Feinschliff und HTML-Profilierung 
    1212        2017-10-09 SchlÃŒssel der Blattart bei berechtigten BlÀttern, sauber filtern auf endet IS NULL 
     13        2018-04-23 Blatt und EigentÃŒmer in eine Tabelle. 
    1314*/ 
    1415session_start(); 
    15  
    16 $showkey="n"; // Var. initalisieren 
     16$showkey="n"; $nodebug=""; // Var. initalisieren 
    1717$cntget = extract($_GET); // Parameter in Variable umwandeln 
    1818 
     
    2222if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    2323if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     24if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    2425 
    2526require_once("alkis_conf_location.php"); 
     
    4344<body> 
    4445<?php 
     46// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
     47// Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
     48if ($nodebug == "j") {$debug=0;}  
     49 
    4550$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbestnw.php'"); 
    4651if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    4752 
    4853// G R U N D B U C H 
    49 $sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, wb.v AS blattartv, wb.d AS blattartd,  
    50 b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.v AS stellev  
    51 FROM ax_buchungsblatt g  
     54$sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS blatt, g.blattart, wb.v AS blattartv, wb.d AS blattartd,  
     55b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.v AS stellev FROM ax_buchungsblatt g  
    5256LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk  
    5357LEFT JOIN ax_dienststelle d ON b.land=d.land AND b.stelle=d.stelle  
     
    6468        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    6569} 
    66 if ($row = pg_fetch_array($res)) { 
     70if ($row = pg_fetch_assoc($res)) { 
    6771        $blattkey=$row["blattart"]; 
    6872        $blattart=$row["blattartv"]; 
    69  
    70         echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>"; // Balken 
    71         echo "\n<h2><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Grundbuch</h2>" 
    72         ."\n<table class='outer'>\n<tr>\n\t<td>"; // Kennz. im Rahmen 
     73        $blatt=ltrim($row["blatt"], "0"); 
     74 
     75        echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$blatt."&nbsp;</p>"; // Balken 
     76        echo "\n<h2>Grundbuch</h2>"; 
     77        echo "\n<table class='outer'>" // Blatt UND Eigent. 
     78                ."\n<tr>\n\t<td class='ll'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Blatt:</td>"  // outer Links 
     79                ."\n\t<td colspan='2'>"; // Outer Mitte, Kennz. im Rahmen 
    7380                if ($blattkey == 1000) { 
    7481                        echo "\n\t\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     
    9198                                if ($showkey) {echo "<span class='key'>".$row["bezirk"]."</span><br>";} 
    9299                                echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>" 
    93                                 ."\n\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>" 
     100                                ."\n\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 
    94101                        ."\n\t\t</tr>" 
    95102                ."\n\t\t</table>" 
    96103                ."\n\t</td>\n\t<td>&nbsp;" 
    97         ."\n\t</td>\n</tr>\n</table>"; 
     104        ."\n\t</td>\n</tr>"; 
    98105} 
    99106 
     
    105112        if ($n == 0) { // keine NamensNr, kein Eigentuemer 
    106113                echo "\n<p class='err'>Keine Namensnummer gefunden.</p>" 
    107                 ."\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$blattkey." (".$blattart.")</p>"; 
    108         } 
    109 } 
     114                ."\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$blatt.", Blattart ".$blattkey." (".$blattart.")</p>"; 
     115        } 
     116} 
     117echo "\n</table>"; 
    110118 
    111119// Vorab pruefen, ob der Fall "Rechte an .." vorliegt. 
     
    115123// - Rechte und FlurstÃŒcke 
    116124// - FlurstÃŒcke 
    117 // +++ Herrschend/Dienend per "title" auf den Überschriften ("Rechte" / "Berechtigte GrundbÃŒcher") erlÀutern 
    118125 
    119126// GB-Blatt  <istBestandteilVon<  sh=herrschend  >an/zu>  sd=dienend 
     
    126133$res=pg_execute("", $v); 
    127134if (!$res) echo "\n<p class='err'>Fehler bei Suche nach Buchungen.</p>"; 
    128 $row=pg_fetch_array($res); 
     135$row=pg_fetch_assoc($res); 
    129136$anz=$row["anzahl"]; 
    130137 
     
    132139if ($anz > 0) { // auch "Rechte an" 
    133140        echo " Rechte und Flurst&uuml;cke</h3>\n<table class='fs'>"; 
    134  
    135141        // zusaetzliche Kopfzeile "Rechte" 
    136142        echo "\n<tr>"  
     
    144150                ."\n\t<td>&nbsp;</td>" 
    145151        ."\n</tr>"; 
    146 } else { // keine Rechte an .., nur FlurstÃŒcke gebucht 
     152} else { // keine Rechte an, nur FlurstÃŒcke gebucht 
    147153        echo " Flurst&uuml;cke</h3>\n<table class='fs'>"; 
    148154} 
     
    177183$fscnt=0; 
    178184$zpaar=false; 
    179 while($row = pg_fetch_array($res)) { // Loop Buchungsstelle (GrundstÃŒck) 
     185while($row = pg_fetch_assoc($res)) { // Loop Buchungsstelle (GrundstÃŒck) 
    180186        $lfdnr=$row["lfd"]; 
    181187        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
     
    230236                $a=0; // count 
    231237                $altbvnr=""; // Gruppenwechsel 
    232                 while($rowan= pg_fetch_array($resan)) { 
     238                while($rowan= pg_fetch_assoc($resan)) { 
    233239                        $lfdnran=$rowan["lfd"]; // BVNR an 
    234240                        $gml_bsan=$rowan["gml_id"];     // id der buchungsstelle an 
    235                         $baan=$rowan["bart"];  // Buchungsart an, entschluesselt 
     241                        $baan=$rowan["bart"];   // Buchungsart an, entschluesselt 
    236242                        $anzu=$rowan["anzu"];   // Welche Relation? Recht an oder Recht zu ? 
    237243 
     
    251257                        } 
    252258                        $b=0; 
    253                         while($fbrow = pg_fetch_array($fbres)) { // genau 1 
     259                        while($fbrow = pg_fetch_assoc($fbres)) { // genau 1 
    254260                                $fbgml=$fbrow["gml_id"]; 
    255261                                $fbland=$fbrow["land"]; 
    256262                                $fbbez=$fbrow["bezirk"]; 
    257263                                $beznam=$fbrow["beznam"]; 
    258                                 $fbblatt=$fbrow["blatt"]; 
     264                                $fbblatt=ltrim($fbrow["blatt"], "0"); 
    259265                                $fbbartkey=$fbrow["blattart"]; // Key 
    260266                                $fbbart=$fbrow["blattartv"];  // Value 
     
    307313                        $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false, "", ""); // return=Anz.FS 
    308314                        $fscnt=$fscnt + $aj; 
    309                         // +++ Gibt es Sondereigentum beim fiktiven Blatt? 
    310315                        if ($rowan["nrap"] != "") { 
    311316                                echo "\n<tr>" 
     
    375380$b=0; // count: Buchungen / BlÀtter 
    376381$zpaar=false; 
    377 while($rowb = pg_fetch_array($resb)) { 
     382while($rowb = pg_fetch_assoc($resb)) { 
    378383        if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 
    379384                echo "\n\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>" 
     
    399404        $bart=$rowb["bart"];            // BA entschl. 
    400405        $lfdnr=$rowb["lfdnr"];          // BVNR ber. 
     406        $blatt=ltrim($rowb["blatt"], "0"); 
    401407        $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 
    402408 
     
    415421                        echo htmlentities($rowb["beznam"], ENT_QUOTES, "UTF-8") 
    416422                ."</td>" 
    417                 ."\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span></td>" 
     423                ."\n\t<td><span class='wichtig'>".$blatt."</span></td>" 
    418424                ."\n\t<td>".$bvnr."</td>" 
    419425                ."\n\t<td title='".htmlentities($rowb["bartd"], ENT_QUOTES, "UTF-8")."'>"; 
  • trunk/info/info/alkisn/alkisexport.php

    r398 r402  
    3030 
    3131        ToDo: 
     32        - Abruf FlurstÃŒck sollte auch mit "fskennz" (ggg-ff-zzz/nn) statt "gml-id" möglich sein 
    3233        - In Dateiname den Straßennamen statt der gmlid verwenden? (Umlaute?) 
    3334        - in alkislage.php fÃŒr den Typ "ohne Haunummer" den Export mit strasse und haus=o verlinken 
     
    5051        $lagehsnr=""; 
    5152        $salt=""; 
    52         while($row = pg_fetch_array($res)) { 
     53        while($row = pg_fetch_assoc($res)) { 
    5354                if ($j > 0) {$lagehsnr.=", ";} 
    5455                $sneu=$row["bezeichnung"]; 
     
    202203 
    203204// Datenfelder auslesen 
    204 while($row = pg_fetch_array($res)) { 
     205while($row = pg_fetch_assoc($res)) { 
    205206        $i++; // Zeile der Tabelle 
    206207        $rechnen=true; // Formel in letzte Spalte? 
  • trunk/info/info/alkisn/alkisfkt.php

    r398 r402  
    1414        2017-11-03 neue function werteliste() 
    1515        2017-12-20 Default Anzeigewert "EigentÃŒmer" im Link fÃŒr leere EigentÃŒmerart, JÃŒngste Adresse zur Person verwenden. 
     16        2018-04-23 Berechtigte Buchungen im FS-Nachw. verbessern. Neue Spalte statt Überschriften fÃŒr "EigentÃŒmer" und "Berechtigte Buchungen". 
     17 
     18++ ToDo: 
     19 ++ Parameter $lnkclass in eigentuemer() und $jfenster in buchung_anzg() vereinheitlichen 
    1620*/ 
    1721 
     
    2125        // Den URL-Parameter "&showkey=j/n" umschalten lassen. 
    2226        // $append wird angehaengt wenn gefuellt. Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage 
    23         global $gkz, $showkey, $hilfeurl, $auth; 
     27        global $gkz, $showkey, $hilfeurl, $auth, $debug; 
    2428 
    2529        // S c r e e n - Foot 
     
    3842        echo "\n\t\t<td title='Konfiguration'>"; 
    3943                $mylink ="\n\t\t\t<a class='keyswitch' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append; 
    40  
    4144                if ($showkey) { // Umschalten SchlÃŒssel ein/aus 
    4245                        echo $mylink."&amp;showkey=n' title='Verschl&uuml;sselungen ausblenden'>Schl&uuml;ssel aus</a>"; 
    4346                } else { 
    4447                        echo $mylink."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>"; 
     48                } 
     49                // TemporÀr eine Ansicht ohne Entwicklungsumgebung 
     50                if ($debug > 0) { 
     51                        echo "&nbsp;|&nbsp;".$mylink."&amp;nodebug=j' title='Debug-Ausgaben tempor&auml;r abschalten'>Ansicht ohne Testausgaben</a>"; 
    4552                } 
    4653        echo "\n\t\t</td>"; 
     
    5764                echo "\n<p class='onlyprint'><i>Mapbender-Benutzer:&nbsp;".$customer."</i></p>"; 
    5865        } 
    59  
    6066        return 0; 
    6167} 
    6268 
    63 function ber_bs_hinw($gmls, $gmlf) { 
    64         // Berechtigte Buchungs-Stellen - Hinweis. 
    65         // Unter dem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen und einen Umschalter. 
    66         global $gkz, $debug, $showkey, $berbu, $eig; 
     69function ber_bs_zaehl($gmls) { 
     70        // Berechtigte Buchungs-Stellen zaehlen. 
    6771 
    6872        // Buchungstelle dienend <(Recht)an< Buchungstelle herrschend 
    69         $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.v " 
    70         ."FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) "  
    71         ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) "  
    72         ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " 
    73         ."GROUP BY sh.buchungsart, a.v;"; 
    74  
     73        $sql ="SELECT count(sh.gml_id) AS anz FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) "  
     74        ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL;"; 
    7575        $v = array($gmls); // GML dienende Buchungs-Stelle 
    7676        $resan = pg_prepare("", $sql); 
    7777        $resan = pg_execute("", $v); 
    78         if (!$resan) { 
    79                 echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>"; 
    80                 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmls."'</p>";} 
    81         } 
    82         $zeile=0; // Vesrchiedene Arten 
    83         $cnt=0; // Summe der Buchugen 
    84         while($rowan = pg_fetch_array($resan)) { 
    85                 $anz=$rowan["anz"]; 
    86  
    87                 // Einleitung 
    88                 if ($zeile == 0) { // vor. 1. Zeile 
    89                         // Diese Hinweise sollen mit gedruckt werden. Also KEIN "noprint"! 
    90                         echo "\n\t\t<br>\n\t\t<p class='nwlink' title='Andere Grundst&uuml;cke mit Rechten an diesem.'>\n\t\t\tBerechtigte Buchungen "; 
    91                         if ($berbu=="j") { // wechselndes Symbol 
    92                                 echo "<img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''>"; 
    93                         } else { 
    94                                 echo "<img src='ico/Grundbuch.png' width='16' height='16' alt=''>"; 
    95                         } 
    96                         echo "\n\t\t\t<b>"; 
    97                 } 
    98  
    99                 // Eine Zeile je Buchungs-Typ 
    100                 echo "<br>".$anz." ".htmlentities($rowan["v"], ENT_QUOTES, "UTF-8"); 
    101                 if ($showkey) {echo " <span class='key'>(".$rowan["buchungsart"].")</span>";} 
    102                 $zeile++; 
    103                 $cnt = $cnt + $anz; 
    104         } // Ende Result 
     78        if (!$resan) {echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen zaehlen'.</p>";} 
     79        $rowan = pg_fetch_assoc($resan); 
     80        $anz=$rowan["anz"]; 
    10581        pg_free_result($resan); 
    106  
    107         // Ergebnis 
    108         if ($zeile == 0) { // kein Schleifen-Durchlauf 
    109                 echo "\n\t<p class='nwlink' title='Kein anderes Grundst&uuml;ck hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 
    110         } else { // Schleife wurde durchlaufen, 
    111                 echo "</b>\n\t\t</p>"; 
    112  
    113                 // Umschalter nicht drucken 
    114                 echo "\n\t\t<p class='nwlink noprint'>" 
    115                 ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlf."&eig=".$eig; // GML FlurstÃŒck 
    116                 if ($showkey) {echo "&amp;showkey=j";} 
    117                 // Der FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. 
    118                 if ($berbu=="j") { 
    119                         echo "&amp;berbu=n' title='ohne berechtigte Buchungen'>nicht Anzeigen"; // Position: Top 
    120                 } else { 
    121                         echo "&amp;berbu=j#berbu' title='mit berechtigten Buchungen'>Anzeigen"; // Positionierung auf Marke #berbu 
    122                 } 
    123                 echo "</a>\n\t\t</p>"; 
    124         } 
    125         return $cnt; // Funktionswert = Anzahl der berechtigten Buchungen 
    126 } 
    127  
    128 function ber_bs_anz($gmls, $eig) { 
    129         // Berechtigte Buchungsstellen (+ BlÀtter, EigentÃŒmer) anzeigen innerhalb eines FS-Nachw. 
    130         // Im FS-Nachweis werden auch die berechtigten GrundbÃŒcher mit ihren EigentÃŒmern angezeigt. 
    131         // Also z.B. zu einem "fiktiven Blatt" auch die GrundbuÃŒcher mit dem "Wohnungs-/Teileigentum" 
    132         global $gkz, $debug, $showkey, $idanzeige; 
    133  
    134         // Herrschende (berechtigte) Buchungsstellen ausgeben - Beginn 
    135         // sd=Buchungstelle herrschend >(Recht)an> sd=Buchungstelle dienend >istBestandteilVon> BLATT -> Bezirk 
    136         $sql="SELECT sd.gml_id AS s_gml, "  // Buchungs-Stelle dienend 
    137         ."sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " // Buchungs-Stelle herrschend 
    138         ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.v AS bart, w.v AS blattartv " 
    139         ."FROM ax_buchungsstelle sd " 
    140         ."JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " 
     82        return $anz; // Funktionswert = Anzahl der berechtigten Buchungen 
     83} 
     84 
     85function buchung_anzg($gmlbs, $eig, $jsfenster, $gml_fs) { 
     86        // In einem FS-Nachw. EINE Buchungsstelle anzeigen. 
     87        // Parameter: 
     88        //  $gmlbs: GML-ID der anzuzeigenden Buchungs-Stelle 
     89        //  $eig: EigentÃŒmer ausgeben j/n 
     90        //  $jsfenster: Javascript-Funktion zum Verlassen des Feature-Info-Fensters verwenden (bool) 
     91        //  $gml_fs: GML-ID des FlurstÃŒcke (nur bei erstem Aufruf in einem FS-Nachweis notwendig) 
     92        global $gkz, $debug, $showkey, $bartgrp, $barttypgrp, $stufe; 
     93 
     94        $sqlbs="SELECT sh.gml_id AS hgml, sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " // Buchungs-Stelle herrschend 
     95        ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.v AS bart, a.d AS barttitle, w.v AS blattartv " 
     96        ."FROM ax_buchungsstelle sh " 
    14197        ."JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " 
    14298        ."LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk " 
    143         ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " // entschlÃŒsseln Buchungsart 
    144         ."LEFT JOIN alkis_wertearten w ON b.blattart=w.k AND w.element='ax_buchungsblatt' and w.bezeichnung='blattart' " // entschlÃŒsseln Blatt-Art 
    145         ."WHERE sd.gml_id= $1 AND sd.endet IS NULL AND sh.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL " 
    146         ."ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
    147  
    148         $v = array($gmls); // id dienende Buchungsstelle 
     99        ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " // entschl. Buchungsart 
     100        ."LEFT JOIN alkis_wertearten w ON b.blattart=w.k AND w.element='ax_buchungsblatt' and w.bezeichnung='blattart' " // entschl. Blatt-Art 
     101        ."WHERE sh.gml_id= $1 AND sh.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL;"; 
     102 
     103        $v = array($gmlbs); // ID dienende Buchungs-Stelle 
     104        $resbs = pg_prepare("", $sqlbs); 
     105        $resbs = pg_execute("", $v); 
     106        if (!$resbs) { 
     107                echo "\n<p class='err'>Fehler bei 'Buchungsstelle ausgeben'.</p>"; 
     108                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sqlbs, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlbs."'</p>";} 
     109        } 
     110        $gezeigt=false; // Funktionswert 
     111        if ($rowbs = pg_fetch_assoc($resbs)) { // ein Treffer 
     112                $blattkeyber=$rowbs["blattart"]; // Schluessel von Blatt-Art des GB 
     113                if ($blattkeyber != '5000' or $debug > 1) { // "Fiktives Blatt" nur bei Entwicklung anzeigen 
     114                        $gezeigt=true; // Funktionswert 
     115                        $hgml=$rowbs["hgml"]; // GML-ID der (herrschenden) BuchungsStelle 
     116                        $bartkey=$rowbs["buchungsart"]; // Buchungsart SchlÃŒssel 
     117                        $beznam=$rowbs["bezeichnung"]; // Bezirk 
     118                        $blattartber=$rowbs["blattartv"]; // Wert von Blatt-Art des GB 
     119                        $nrpl=$rowbs["nrpl"]; // Nr im Auft.plan 
     120                        $sond=$rowbs["sond"]; // Beschr. d.Sondereigentums 
     121                        $gbgml=$rowbs["g_gml"]; // GML-ID des Grundbuch-Blattes 
     122                        $blatt=ltrim($rowbs["blatt"], "0"); 
     123                        $lfd=ltrim($rowbs["lfd"], "0"); 
     124                        if ($bartkey != $bartgrp) { // Wechsel der Buchungsart 
     125                                $bart=$rowbs["bart"]; // Buchungsart Text 
     126                                $barttitle=$rowbs["barttitle"]; // Buchungsart ErklÀrung 
     127                                switch (true) { // Die Buchungsart einem Typ (Gruppierung) zuweisen 
     128                                        case ($bartkey <= 1999): $barttyp = "E"; break; // Eigentum/GrundstÃŒck 
     129                                        case ($bartkey >= 2000): $barttyp = "R"; break; // GrundstÃŒcksgleiches Recht, z.B. 2101 "Erbbaurecht" 
     130                                        default: $barttyp = "E"; break; 
     131                                } 
     132                                if ($barttypgrp != $barttyp) { // Wenn der Typ wechselt, neue Überschrift in Tabelle 
     133                                        switch ($barttyp) { // Text der Überschrift 
     134                                                case "E": 
     135                                                        if ($eig == 'j') {$h3txt = "Buchung und Eigentum";}  
     136                                                        else {$h3txt = "Buchung";} 
     137                                                break; 
     138                                                case "R": $h3txt = "Grundst&uuml;cksgleiche Rechte"; break; 
     139                                        } 
     140                                        if ($barttypgrp == "" and $gml_fs != "") { // die erste Überschrift mit ID und Umschalter 
     141                                                echo "\n\t<tr>\n\t\t<td colspan='3'>\n\t\t\t<h3 id='gb'>".$h3txt."</h3>\n\t\t</td>"; // 1-3 
     142                                                echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>" // 4 
     143                                                        ."\n\t\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gml_fs; 
     144                                                        if ($showkey) {echo "&amp;showkey=j";} 
     145                                                        if ($eig=="j") { // Umschalter: FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. Positionierung auf Marke "#gb" 
     146                                                                echo "&amp;eig=n#gb' title='Umschalter: Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
     147                                                        } else { 
     148                                                                echo "&amp;eig=j#gb' title='Umschalter: Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer " 
     149                                                                ."<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 
     150                                                        } 
     151                                                echo "\n\t\t\t</p>\n\t\t</td>"; 
     152                                        } else { 
     153                                                echo "\n\t<tr>\n\t\t<td colspan='3'>\n\t\t\t<h3>".$h3txt."</h3>\n\t\t</td>\n\t\t<td>&nbsp;</td>"; // 1-4 
     154                                        } 
     155                                        echo "\n\t</tr>"; 
     156                                        $barttypgrp = $barttyp; 
     157                                } 
     158 
     159                                // +++ mehr Abstand oben zur Zeile in .css, oder farbig hinterlegen? 
     160                                echo "\n\t<tr>" // Buchungsart als Zwischenzeile 
     161                                        ."\n\t\t<td class='ll'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Buchungsart:</td>" // 1 
     162                                        ."\n\t\t<td colspan='2' title='".$barttitle."'>"; // 2-3 
     163                                                if ($showkey) {echo "<span class='key'>(".$bartkey.")</span> ";} 
     164                                                echo "<span class='wichtig'>".$bart."</span>" 
     165                                        ."</td>" 
     166                                        ."\n\t\t<td></td>" // 4 
     167                                ."\n\t</tr>"; 
     168                                $bartgrp=$bartkey; // Gruppe merken 
     169                        } // Ende Wechsel der Buchungsart 
     170 
     171                        echo "\n\t<tr>" // Tabelle mit 4 Spalten fÃŒr Buchung und EigentÃŒmer 
     172                                ."\n\t\t<td class='ll'><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Buchung:"; // 1 
     173                        if ($showkey and $debug > 2) {echo "<br><span class='key'>Stufe ".$stufe."<br>".$hgml."</span> ";} 
     174                        echo "</td>\n\t\t<td colspan='2'>"; // 2-3 
     175 
     176                                        // innere Tabelle: Rahmen mit GB-Kennz. 
     177                                        if ($blattkeyber == 1000) { 
     178                                                echo "\n\t\t\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     179                                        } else { 
     180                                                echo "\n\t\t\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
     181                                        } 
     182                                        echo "\n\t\t\t<tr>" 
     183                                                ."\n\t\t\t\t<td class='head'>Bezirk</td>" 
     184                                                ."\n\t\t\t\t<td class='head'>"; 
     185                                                if ($showkey) {echo "<span class='key'>".$blattkeyber."</span> ";} 
     186                                                echo $blattartber."</td>" 
     187                                                ."\n\t\t\t\t<td class='head'>Lfd-Nr</td>" 
     188                                        ."\n\t\t\t</tr>"; 
     189                                        echo "\n\t\t\t<tr>" 
     190                                                ."\n\t\t\t\t<td title='Grundbuchbezirk'>"; 
     191                                                if ($showkey) {echo "<span class='key'>".$rowbs["bezirk"]."</span><br>";} 
     192                                                echo $beznam."</td>" 
     193                                                ."\n\t\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 
     194                                                ."\n\t\t\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$lfd."</td>" 
     195                                        ."\n\t\t\t</tr>" 
     196                                        ."\n\t\t\t</table>"; 
     197 
     198                                        if ($rowbs["zaehler"] <> "") { 
     199                                                echo "\n\t\t\t<p class='ant'>".$rowbs["zaehler"]."/".$rowbs["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
     200                                        } 
     201                                        if ($nrpl != "") { 
     202                                                echo "\n\t\t\t<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$nrpl."</span> im Aufteilungsplan.</p>"; 
     203                                        } 
     204                                        if ($sond != "") { 
     205                                                echo "\n\t\t\t<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum: ".$sond."</p>"; 
     206                                        } 
     207                                echo "\n\t\t</td>"; // 2-3 
     208 
     209                                echo "\n\t\t<td>"; // 4 
     210                                        echo "\n\t\t\t<p class='nwlink noprint'>"; 
     211                                                if ($showkey) {echo "<span class='key'>".$blattkeyber."</span> ";} 
     212                                                $url="alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gbgml; 
     213                                                if ($showkey) {$url.="&amp;showkey=j";} 
     214                                                if ($jsfenster) {$url="javascript:imFenster(\"".$url."\")";} // Sonderfall "Inlay" aus Feature-Info 
     215                                                echo "\n\t\t\t\t<a href='".$url."' title='Grundbuchnachweis mit Eigent&uuml;merangabe'>".$blattartber 
     216                                                        ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
     217                                                ."</a>"; 
     218                                        //      if ($showkey and $debug > 2) {echo "<br><span class='key'>GML-ID = ".$gbgml."</span> ";} 
     219                                        echo "\n\t\t\t</p>" 
     220                                ."\n\t\t</td>" // 4 
     221                        ."\n\t</tr>"; 
     222                        if ($eig == "j") { 
     223                                if ($jsfenster) {$lnkclass = "imFenster";} else {$lnkclass = "";}  
     224                                $n = eigentuemer($gbgml, true, $lnkclass); // mit Adresse 
     225                        } 
     226                } 
     227        } 
     228        pg_free_result($resbs); 
     229        return $gezeigt; // true wenn eine Buchung ausgegeben wurde 
     230} 
     231 
     232function ber_bs_anzg($gmls, $eig, $gml_fs) { 
     233        // In einem FS-Nachw. die berechtigten (herrschenden) Buchungsstellen anzeigen z.B. "Wohnungs-/Teileigentum". 
     234        // Parameter:  
     235        //  $gmls: GML-ID der dienenden Buchungs-Stelle. Im ersten Durchlauf also, die BS auf der das FS gebucht ist. 
     236        //  $eig: EigentÃŒmer ausgeben j/n 
     237        global $debug, $stufe; 
     238 
     239        // sh=Buchungstelle herrschend >(Recht)an> sd=Buchungstelle dienend >istBestandteilVon> BLATT -> Bezirk 
     240        $sql="SELECT sh.gml_id AS hgml, sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " 
     241        ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart " 
     242        ."FROM ax_buchungsstelle sh JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " 
     243        ."WHERE $1 = ANY(sh.an) AND sh.endet IS NULL AND b.endet IS NULL " 
     244        ."ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, sh.laufendenummer;"; 
     245 
     246        $v = array($gmls); // ID dienende BuchungsStelle 
    149247        $resber = pg_prepare("", $sql); 
    150248        $resber = pg_execute("", $v); 
     
    153251                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmls."'</p>";} 
    154252        } 
    155  
    156253        $an=0; 
    157         while($rowan = pg_fetch_array($resber)) { 
    158                 $beznam=$rowan["bezeichnung"]; 
    159                 $bart=$rowan["bart"]; // Buchungsart 
    160                 $blattkeyber=$rowan["blattart"];  // Schluessel von Blatt-Art des berechtigten GB 
    161                 $blattartber=$rowan["blattartv"]; // Wert von Blatt-Art des berechtigten GB 
    162                 $nrpl=$rowan["nrpl"]; // Nummer im Aufteilungsplan 
    163                 $sond=$rowan["sond"]; // Beschreibung des Sondereigentums 
    164  
    165                 echo "\n<table class='outer'>" // \n<hr> 
    166                 ."\n<tr>" // 1 row only 
    167                         ."\n<td>"; // outer linke Spalte - Daten 
    168                                 // Rahmen mit Kennzeichen GB 
    169                                 if ($blattkeyber == 1000) { 
    170                                         echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
    171                                 } else { 
    172                                         echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    173                                 } 
    174                                 echo "\n\t<tr>" 
    175                                         ."\n\t\t<td class='head'>Bezirk</td>" 
    176                                         ."\n\t\t<td class='head'>".$blattartber."</td>" 
    177                                         ."\n\t\t<td class='head'>Lfd-Nr,</td>" 
    178                                         ."\n\t\t<td class='head'>Buchungsart</td>" 
    179                                 ."\n\t</tr>"; 
    180                                 echo "\n\t<tr>" 
    181                                         ."\n\t\t<td title='Grundbuchbezirk'>"; 
    182                                         if ($showkey) {echo "<span class='key'>".$rowan["bezirk"]."</span><br>";} 
    183                                         echo $beznam."</td>" 
    184                                         ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>" 
    185                                         ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>" 
    186                                         ."\n\t\t<td title='Buchungsart'>"; 
    187                                                 if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";} 
    188                                                 echo $rowan["bart"] 
    189                                         ."</td>" 
    190                                 ."\n\t</tr>" 
    191                                 ."\n\t</table>"; 
    192                                 if ($rowan["zaehler"] <> "") { 
    193                                         echo "\n\t<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    194                                 } 
    195                         echo "\n</td>"; 
    196  
    197                         echo "\n<td>"; // outer rechte Spalte 
    198                                 if ($idanzeige) { 
    199                                         linkgml($gkz, $rowan["s_gml"], "Buchungsstelle", "ax_buchungsstelle"); 
    200                                         echo "<br>"; 
    201                                         linkgml($gkz, $rowan["g_gml"], "Buchungsblatt", ""); 
    202                                 } 
    203                                 echo "\n\t<br>" 
    204                                 ."\n\t<p class='nwlink noprint'>"; 
    205                                         if ($showkey) {echo "<span class='key'>".$blattkeyber."</span> ";} 
    206                                         echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"]; 
    207                                                 if ($idanzeige) {echo "&amp;id=j";} 
    208                                                 if ($showkey)   {echo "&amp;showkey=j";} 
    209                                                 echo "' title='Grundbuchnachweis mit Eigent&uuml;merangabe'>".$blattartber 
    210                                                 ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
    211                                         ."</a>"; 
    212                                 echo "\n\t</p>" 
    213                         ."\n\t</td>" 
    214                 ."\n</tr>" 
    215                 ."\n</table>"; 
    216  
    217                 if ($blattkeyber != 1000) { 
    218                         echo "\n<p>Blattart: ".$blattartber." (".$blattkeyber.").<br>";  
    219                 } 
    220  
    221                 if ($nrpl != "") { 
    222                         echo "\n<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$nrpl."</span> im Aufteilungsplan.</p>"; 
    223                 } 
    224  
    225                 if ($sond != "") { 
    226                         echo "\n<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$sond."</p>"; 
    227                 } 
    228  
    229                 if ($eig == "j") { 
    230                         $n = eigentuemer($rowan["g_gml"], true, ""); // mit Adresse 
    231                 } 
    232                 $an++;   
     254        $verfolg=array(); // Ein (zunÀchst leeres) Array fÃŒr weitere GML-IDs anlegen 
     255        while($rowan = pg_fetch_assoc($resber)) { // Loop durch Result von berechtigte BS 
     256                $hgml=$rowan["hgml"]; // GML-ID der berechtigten Buchungs-Stelle 
     257                $gezeigt = buchung_anzg($hgml, $eig, false, $gml_fs); // Die herrschende Buchung anzeigen wenn nicht fiktiv 
     258                $an++; 
     259 
     260                $weitere=ber_bs_zaehl($hgml);  
     261                if ($weitere > 0) { // gibt es WEITERE berechtigte Buchungen dazu? 
     262                //      if ($debug > 2) {echo "<p class='dbg'>Weitere ".$weitere." zu verfolgende Buchungen gefunden. F&uuml;ge an:<br>Vorher ".count($verfolg)."</p>";} 
     263 
     264                        $verfolg[] = $hgml; // neuen Wert fÃŒr weitere Verfolgung in Array anfÃŒgen 
     265 
     266                //      if ($debug > 2) {echo "<p class='dbg'>Nachher ".count($verfolg)."</p>";} 
     267 
     268        //      } else { 
     269        //              if ($debug > 2) {echo "<p class='dbg'>Auf Stufe ".$stufe." untersucht. Keine weitere abhÀngigen Buchungen zu ".$hgml.".</p>";} 
     270                } 
    233271        } 
    234272        pg_free_result($resber); 
    235         return; 
    236 } 
    237  
     273        return $verfolg; // weitere zu verfolgende GML-ID zurÃŒck geben 
     274} 
    238275 
    239276function kurz_namnr($lang) { 
     
    241278        $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 
    242279        $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) 
    243         $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang 
    244         $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe 
     280        $kurz=ltrim($kurz, "0"); // fuehr. Nullen 
     281        $kurz=str_replace(".0",".",$kurz); // fuehr. Null jeder Stufe 
    245282        $kurz=rtrim($kurz); // Leerzeichen hinten 
    246283        // echo "/n<p class='dbg'> lang='".$lang."'</p>/n<p class='dbg'> kurz='".$kurz."'</p>"; 
     
    279316        $altbvnr=""; 
    280317        $j=0; 
    281         while($rowf = pg_fetch_array($resf)) { 
    282                 $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 
     318        while($rowf = pg_fetch_assoc($resf)) { 
     319        //      $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 
     320                $flur= $rowf["flurnummer"]; 
    283321                $fskenn=$rowf["zaehler"]; 
    284322                if ($rowf["nenner"] != "") { // Bruch 
     
    334372function eigentuemer($gmlid, $mitadresse, $lnkclass) { 
    335373        // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben 
    336         // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link 
     374        //  Sp.1="EigentÃŒmer" Sp.2=NamNr, Sp.3=Name/Adresse, Sp.4=Link 
    337375        // Parameter: 
    338376        //      $gmlid = ID GB-Blattes 
     
    344382        global $debug, $gkz, $showkey; 
    345383 
    346         // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal) 
    347384        if ($lnkclass == "") { 
    348385                $lnkvor = ""; 
    349386                $lnknach = ""; 
    350         } else { 
     387        } else { // Link ÃŒber Java-Class "imFenster" aus alkisinlayausk.php 
    351388                $lnkvor  = "javascript:".$lnkclass."(\""; 
    352389                $lnknach = "\")"; 
    353         } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; 
     390        } 
    354391 
    355392        $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass, n.benennt, wn.v AS adrv, we.v AS eiartv " 
     
    358395        ."LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' " 
    359396        ."WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 
    360  
    361         $v = array($gmlid); // 16 Stellen bei Relationen 
     397        // +++  LEFT JOIN bis ax_Person statt Person als Schleife zu holen,  
     398        //              VerknÃŒpfungsfeld "benennt" ist leer bei "Beschrieb der Rechtsgemeinschaft". 
     399 
     400        $v = array($gmlid); // GB-Blatt 
    362401        $resn = pg_prepare("", $sqln); 
    363402        $resn = pg_execute("", $v); 
    364403 
    365404        if (!$resn) { 
    366                 echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>"; 
    367                 // kein Fehler bei Blattarten > 1000 
     405                echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>"; // kein Fehler bei Blattarten > 1000 
    368406                //if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
    369407        } 
    370408 
    371409        $n=0; // Z.NamNum. 
    372         while($rown = pg_fetch_array($resn)) { 
    373                 if($n == 0) { // Die Überschrift nur, wenn auch ein Inhalt folgt 
    374                         echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>" 
    375                         ."\n<table class='eig'>"; 
    376                 } 
     410        while($rown = pg_fetch_assoc($resn)) { 
    377411                $gmlnn=$rown["gml_id"]; 
    378412                $namnum=kurz_namnr($rown["lfd"]); 
    379413                $rechtsg=$rown["adr"]; 
    380                 echo "\n<tr>" 
    381                         ."\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>" // Sp. 1 
    382                                 .$namnum."&nbsp;" // VOR die Tabelle: "EigentÃŒmer" 
    383                         ."</p>\n\t</td>" 
    384                         . "\n\t<td>"; // Sp. 2 
    385                         if ($rechtsg != "" ) { 
     414                echo "\n\t<tr>"; 
     415                        if($n == 0) { // erste EigentÃŒmer-Zeile zu einer Buchung 
     416                                echo "\n\t\t<td class='ll'><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Eigent&uuml;mer:</td>"; // 1 
     417                        } else { // Folgezeile 
     418                                echo "\n\t\t<td class='ll'>&nbsp;</td>"; // 1 
     419                        } 
     420 
     421                        if ($rechtsg != "" ) { // Erbengemeinschaft usw. 
     422                                echo "\n\t\t<td colspan='2'>"; // 2-3 
    386423                                if ($rechtsg == 9999) { // sonstiges 
    387                                         echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 
     424                                        echo "\n\t\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 
    388425                                } else { 
    389                                         echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."</p>"; 
     426                                        echo "\n\t\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."</p>"; 
    390427                                } 
    391                         } 
    392                         //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST: 
    393  
    394                         // Schleife Ebene 2: andere Namensnummern 
    395                         // Beziehung   ax_namensnummer >bestehtAusRechtsverhaeltnissenZu>  ax_namensnummer  
    396  
    397                         // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus,  
    398                         // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.  
    399                         // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer,  
    400                         // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 
     428                        } else { // Namensnummer 
     429                                echo "\n\t\t<td class='nanu' title='Namens-Nummer'>\n\t\t\t<p>".$namnum."&nbsp;</p>\n\t\t</td>" // 2 
     430                                . "\n\t\t<td>"; // 3 
     431 
     432                        } 
     433                        //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} 
     434 
     435                        // Andere Namensnummern?  Relation:  ax_namensnummer >bestehtAusRechtsverhaeltnissenZu>  ax_namensnummer  
     436                        // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus, dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.  
     437                        // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 
    401438 
    402439                // Schleife 2: P e r s o n 
     440                // +++ bei SQL Namensnummer oben gleich mit JOIN dazu holen, statt dieser Schleife 
    403441                // Beziehung: ax_person  <benennt<  ax_namensnummer 
    404                 $sqlp="SELECT gml_id, nachnameoderfirma, vorname, geburtsname, to_char(cast(geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, namensbestandteil, akademischergrad " 
     442                $sqlp="SELECT nachnameoderfirma, vorname, geburtsname, to_char(cast(geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, namensbestandteil, akademischergrad " 
    405443                ."FROM ax_person WHERE gml_id= $1 AND endet IS NULL;"; 
    406                 $gmlpers=$rown["benennt"]; 
     444                $gmlpers=$rown["benennt"]; // leer bei RechtsverhÀltnis 
    407445                $v = array($gmlpers); // gml_id von ax_person 
    408446                $resp = pg_prepare("", $sqlp); 
     
    414452 
    415453                $i=0; // cnt Person 
    416                 while($rowp = pg_fetch_array($resp)) { // Schleife weglassen? nn >benennt> Person ist KEIN Array! 
     454                while($rowp = pg_fetch_assoc($resp)) { // Schleife weglassen: "benennt" ist KEIN Array! 
    417455                        $diePerson=""; //++ Anrede? 
    418456                        if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} 
     
    423461                        if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];} 
    424462                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 
    425  
    426                         if ($i > 0) { // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 
    427                                 echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>"; 
    428                         } 
    429                         // Spalte 2 = Angaben 
    430463                        $eiartkey=$rown["eigentuemerart"]; // Key 
    431464                        $eiart=$rown["eiartv"]; // Value 
    432                         echo "\n\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>"; 
    433  
    434                         // Spalte 3 = Link 
    435                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    436                                 if ($showkey AND $eiartkey != '') { // oft leer 
    437                                         echo "<span class='key' title='Eigent&uuml;merart'>".$eiartkey."</span> "; 
    438                                 } 
    439                                 echo "\n\t\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0]; 
     465 
     466                        echo "\n\t\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t\t</td>"; // 3 - Person in Sp.3 hinter NamNum (Sp.2) 
     467                        echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>"; // 4 
     468                                if ($showkey AND $eiartkey != '') {echo "<span class='key' title='Eigent&uuml;merart'>".$eiartkey."</span> ";} 
     469                                echo "\n\t\t\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$gmlpers; 
    440470                                if ($showkey) {echo "&amp;showkey=j";} 
    441471                                if ($eiartkey == "") {$eiart="Eigent&uuml;mer" ;} // Default. Ersatz-Text, wenn nicht gefÃŒllt 
    442472                                echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart 
    443                                 ." <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>" 
    444                         ."\n\t</td>\n</tr>"; 
     473                                ." <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t\t</p>" 
     474                        ."\n\t\t</td>" // 4 
     475                        ."\n\t</tr>"; 
    445476 
    446477                        if ($mitadresse) { 
    447                                 // Schleife 3:  A d r e s s e  (OPTIONAL) 
     478                                // Schleife 3: optional  A d r e s s e  zur Person 
    448479                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " 
    449480                                ."FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL ORDER BY a.beginnt DESC LIMIT 2;"; 
    450                                 $gmlp=$rowp["gml_id"]; // Person 
    451                                 $v = array($gmlp); 
     481                                $v = array($gmlpers); 
    452482                                $resa = pg_prepare("", $sqla); 
    453483                                $resa = pg_execute("", $v); 
    454  
    455484                                if (!$resa) { 
    456485                                        echo "\n\t<p class='err'>Fehler bei Adressen</p>"; 
    457                                         if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";} 
     486                                        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlpers."'</p>";} 
    458487                                } 
    459488                                $j=0; 
    460                                 while($rowa = pg_fetch_array($resa)) { 
     489                                while($rowa = pg_fetch_assoc($resa)) { 
    461490                                        $j++; 
    462491                                        if ($j == 1) { // erste ("jÃŒngste") Adresse anzeigen 
     
    473502                                                $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 
    474503 
    475                                                 echo "\n<tr>\n\t<td>&nbsp;</td>"; //Sp. 1 
    476                                                 echo "\n\t<td><p class='gadr'>"; //Sp. 2 
    477                                                 if ($str.$hsnr != "") {echo $str." ".$hsnr."<br>";} 
    478                                                 if ($plz.$ort != "") {echo $plz." ".$ort;} 
    479                                                 if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} 
    480                                                 echo "</p></td>\n\t<td>"; // Sp. 3 
    481                                                 echo "&nbsp;</td>\n</tr>"; 
     504                                                echo "\n\t<tr>" 
     505                                                        ."\n\t\t<td class='ll'>&nbsp;</td>" // 1 
     506                                                        ."\n\t\t<td>&nbsp;</td>" // 2 
     507                                                        ."\n\t\t<td><p class='gadr'>"; // 3 
     508                                                        if ($str.$hsnr != "") {echo $str." ".$hsnr."<br>";} 
     509                                                        if ($plz.$ort != "") {echo $plz." ".$ort;} 
     510                                                        if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} 
     511                                                echo "</p></td>" // 3 
     512                                                        ."\n\t\t<td>&nbsp;</td>\n\t</tr>"; // 4 
    482513                                        } else { // manchmal doppelte Angaben 
    483                                                 echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td>&nbsp;</td>\n</tr>"; 
    484                                         } 
    485                                 } 
     514                                                echo "\n\t<tr>" 
     515                                                        ."\n\t\t<td class='ll'>&nbsp;</td>" // 1 
     516                                                        ."\n\t\t<td>&nbsp;</td>" // 2 
     517                                                        ."\n\t\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>" // 3 
     518                                                        ."\n\t\t<td>&nbsp;</td>\n\t</tr>"; // 4 
     519                                        } 
     520                                } // Ende Loop Adresse zur Person 
    486521                                pg_free_result($resa); 
    487522                        } 
     
    489524                        $i++; // cnt Person 
    490525 
    491                         // Anteil als eigene Tab-Zeile: 
    492526                        $zaehler=$rown["zaehler"]; 
    493                         if ($zaehler != "") { 
     527                        if ($zaehler != "") { // Anteil als eigene Tab-Zeile 
    494528                                $zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht 
    495529                                $nenner=str_replace(".", ",", $rown["nenner"]); 
    496530                                $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundst&uuml;ck oder Recht)."; 
    497                                 echo "\n<tr>\n\t<td>&nbsp;</td>" // Sp. 1 
    498                                 ."\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>" 
    499                                 ."\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3 
     531                                echo "\n\t<tr>" 
     532                                ."\n\t\t<td class='ll'>&nbsp;</td>" // 1 
     533                                ."\n\t\t<td>&nbsp;</td>" // 2 
     534                                ."\n\t\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>" // 3 
     535                                ."\n\t\t<td>&nbsp;</td>\n\t</tr>"; // 4 
    500536                        } 
    501537                } // End Loop Person 
    502                 if ($i == 0) { // Keine Person. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler 
    503                         if ($rechtsg != 9999) { 
     538                pg_free_result($resp); 
     539 
     540                if ($i == 0) { // KEINE Person. benennt ist leer. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler 
     541                        if ($rechtsg == 9999) { 
     542                                if ($debug > 1) {echo "\n\t\t\t<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";} 
     543                        } else { 
    504544                                echo "\n<p class='err'>(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand)</p>"; 
    505                         } else { 
    506                                 if ($debug > 1) { // nur bei Entwicklung 
    507                                         echo "\n\t\t<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; 
    508                                 } 
    509                         } 
    510                         echo "</td>\n\t<td>&nbsp;</td>\n</tr>"; 
     545                        } 
     546                        echo "</td>\n\t\t<td>&nbsp;</td>\n\t</tr>"; 
    511547                } 
    512548                $n++; // cnt NamNum 
    513549        } // End Loop NamNum 
    514         if($n > 0) { 
    515                 echo "\n</table>"; 
    516         } else { // $n == 0, bei "Fiktives Blatt" KEIN Fehler  
    517                 if ($debug > 1) { 
    518                         echo "\n<p class='dbg'>keine Namensnummern zum Blatt</p>"; 
    519                         //if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
    520                 } 
    521         } 
     550 
    522551        pg_free_result($resn); 
    523552        return $n;  
     
    539568        } 
    540569        $i=0; 
    541         while($row = pg_fetch_array($res)) { 
     570        while($row = pg_fetch_assoc($res)) { 
    542571                echo " ".$row["v"]; 
    543572                $i++;    
  • trunk/info/info/alkisn/alkisfshist.php

    r400 r402  
    1111        2017-10-17 Deutsches Datumsformat fÃŒr Zeitpunkt der Entstehung 
    1212        2018-03-16 NULL-Werte in gemeinde und kreis in ax_historischesflurstueck berÃŒcksichtigen 
     13        2018-04-23 &nodebug 
    1314*/ 
    1415 
     
    5455        if (!$res) {echo "\n<p class='err'>Fehler bei Gemarkung.</p>";} 
    5556        $zgmk=0; 
    56         while($row = pg_fetch_array($res)) { // eigentlich nur EINE 
     57        while($row = pg_fetch_assoc($res)) { // eigentlich nur EINE 
    5758                $gmkg=$row["bezeichnung"]; 
    5859                $zgmk++; 
     
    8485        } 
    8586        $zv=0; 
    86         while($rowv = pg_fetch_array($resv)) { 
     87        while($rowv = pg_fetch_assoc($resv)) { 
    8788                $ftyp=$rowv["ftyp"]; 
    8889                $gmlv=$rowv["gml_id"]; 
     
    102103} 
    103104 
    104 // START // 
    105  
    106105session_start(); 
    107  
    108 $showkey="n"; // Var. aus Parameter initalisieren 
    109  
     106$showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 
    110107$cntget = extract($_GET); // alle Parameter in Variable umwandeln 
    111108 
     
    125122if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    126123if ($showkey == "j") {$showkey=true;} else {$showkey=false;} // "j"/"n" als boolean umwandeln, ist praktischer abzufragen, wird oft gebraucht 
     124if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    127125 
    128126require_once("alkis_conf_location.php"); 
    129127if ($auth == "mapbender") {require_once($mapbender);} 
    130128include("alkisfkt.php"); 
    131  
    132 ?> 
     129echo <<<END 
    133130<!doctype html> 
    134131<html lang="de"> 
     
    141138</head> 
    142139<body> 
    143 <?php 
     140END; 
     141// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
     142// Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
     143if ($nodebug == "j") {$debug=0;}  
     144 
    144145$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfshist.php'"); 
    145146if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
     
    182183        $resu = pg_prepare("", $sqlu); 
    183184        $resu = pg_execute("", $v); 
    184         if ($rowu = pg_fetch_array($resu)) { 
     185        if ($rowu = pg_fetch_assoc($resu)) { 
    185186                $ftyp=$rowu["ftyp"]; 
    186187                $gmkgnr=$rowu["gemarkungsnummer"]; 
     
    236237echo "\n<h2><img src='ico/".$ico."' width='16' height='16' alt=''> Flurst&uuml;ck Historie</h2>"; 
    237238 
    238 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite 
     239echo "\n<table class='outer'>\n<tr>\n\t<td>"; 
    239240        // darin Tabelle Kennzeichen 
    240241        echo "\n\t<table class='".$cls."' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" 
    241                 ."\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>" 
     242                ."\n\t\t<td class='head'>Gemarkung</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>" 
    242243                ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
    243244                if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
     
    246247                ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
    247248        ."\n\t</table>" 
    248 ."\n\t</td>\n\t<td>"; // rechte Seite 
     249."\n\t</td>\n\t<td>"; 
    249250        // FS-Daten 2 Spalten 
    250251        echo "\n\t<table class='fsd'>" 
     
    311312if ($debug > 1) { 
    312313        $z=1; 
    313         while($rowu = pg_fetch_array($resu)) { 
     314        while($rowu = pg_fetch_assoc($resu)) { 
    314315                $ftyp=$rowu["ftyp"]; 
    315316                echo "<p class='dbg'>Mehr als EIN Eintrag gefunden: '".$ftyp."' (".$z.")</p>"; 
  • trunk/info/info/alkisn/alkisfsnw.php

    r399 r402  
    1818        2017-12-08 Planung (Kommentare) der Erweiterung fÃŒr Berechtigte GrundbÃŒcher 
    1919        2017-12-20 Links auf Lagebezeichnung verbessert. 
    20  
    21 +++     ToDo: +++ 
    22         - Wenn nur 1 Buchung auf der nÀchsten Stufe "Recht an" vorliegt (z.B. Erbbaurecht), dann sofort anzeigen. $berbu='' 
    23           Bei vielen Buchungen auf der nÀchsten Stufe (Miteigentumsanteil) nur die Anzahl, erst auf Anforderung (Parameter) &berbu='j' oder 2,3,4,fÃŒr maximale Stufen. 
    24       Anzahl weiterer "Rechte an" auf jeder Stufe anzeigen, auch wenn noch kein Link möglich ist. 
    25           MEHR: Alle "Rechte an" RÃŒckwÀrts auflisten analog View "buchungsrechte_3text". Bis zu 4 Buchungen weit. 
    26       Im Gegensatz zum "Bestandsnachweis" aber nur je eine BVNR weiter verfolgen, die auf dies eine FlurstÃŒck bezogen ist. 
    27       Dabei berechtigte Buchungen VOR dem Grundbuch anzeigen, also eine Berechtigungs-"Hierarchie" abbilden. 
     20        2018-04-11 Variable "gmlid" an Function "ALKISexport" ÃŒbergeben. Ist beim Schreiben des Headers noch unbekannt, wenn mit "&fskennz=" aufgerufen. 
     21        2018-04-23 Umfangreiche Überarbeitung der "Buchungsstellen" 
     22 
     23++ToDo: 
     24        - Buchung auf "fiktives Blatt" ist nur mit debug zu sehen: die <tr> in .css grau hinterlegen 
     25        - Umschalter (gleiches Modul) anders darstellen als Links zu anderen Nachweisen 
    2826        - Parameter zum Umschalten mit/ohne BodenschÀtzung? 
    2927        - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen)  
    3028*/ 
    3129session_start(); 
    32  
    33 // Var. aus Parameter initalisieren 
    34 $eig="n"; 
    35 $berbu="n"; 
    36 $showkey="n"; 
    37  
    38 // alle Parameter in Variable umwandeln 
    39 $cntget = extract($_GET); 
     30$eig="n"; $showkey="n"; $nodebug=""; // Var. initalisieren 
     31$cntget = extract($_GET); // alle Parameter in Variable umwandeln 
    4032 
    4133// strikte Validierung aller Parameter 
     
    5345if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
    5446if (!preg_match('#^[j|n]{0,1}$#', $eig)) {die("Eingabefehler eig");} 
    55 if (!preg_match('#^[j|n]{0,1}$#', $berbu)) {die ("Eingabefehler berbu");} 
    5647if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    5748if ($showkey == "j") {$showkey=true;} else {$showkey=false;} // "j"/"n" als boolean umwandeln, ist praktischer abzufragen, wird oft gebraucht 
     49if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    5850 
    5951require_once("alkis_conf_location.php"); 
     
    6961        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    7062        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
    71         <script type="text/javascript"> 
    72                 function ALKISexport() { 
    73                         window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=flurstueck&gmlid=".$gmlid."'"; ?>); 
     63        <script> 
     64                function ALKISexport(gmlid) { 
     65                        window.open('alkisexport.php?gkz=<?php echo $gkz;?>&tabtyp=flurstueck&gmlid=' + gmlid); 
    7466                } 
    7567        </script> 
     
    7769<body> 
    7870<?php 
    79 // S t a r t 
     71// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. Blendet z.B. "fiktives Blatt" aus. 
     72// Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
     73if ($nodebug == "j") {$debug=0;}  
     74 
    8075$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfsnw.php'"); 
    8176if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    8277 
    83 // Ein (ALB- ?) FlurstÃŒcks-Kennzeichen wurde alternativ zur gml_id ÃŒbermittelt 
     78// Ein FlurstÃŒcks-Kennzeichen wurde alternativ zur gml_id ÃŒbermittelt 
    8479if ($fskennz != '') { 
    85         // Übergabe Format z.B. "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz" 
    86         $arr=explode("-", $fskennz, 4); 
     80        $arr=explode("-", $fskennz, 4); // zerlegen 
    8781        $zgemkg=trim($arr[0]); 
    88         if (strlen($zgemkg) == 20 and !isset($arr[1])) { // Oh, ist wohl schon das Datenbank-Feldformat  
    89                 $fskzdb=$zgemkg; 
    90         } else { // Nö, ist wohl eher ALB-Format 
     82        if (strlen($zgemkg) == 20 and !isset($arr[1])) { 
     83                $fskzdb=$zgemkg; // Datenbank-Feldformat 
     84        } else { // Format "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz" 
    9185                // Das Kennzeichen auseinander nehmen.  
    9286                if (strlen($zgemkg) == 6) { 
     
    121115        $res = pg_prepare("", $sql); 
    122116        $res = pg_execute("", $v); 
    123         if ($row = pg_fetch_array($res)) { 
     117        if ($row = pg_fetch_assoc($res)) { 
    124118                $gmlid=$row["gml_id"]; 
    125119        } else { 
     
    132126} 
    133127 
    134 // F L U R S T U E C K 
     128// F L U R S T U E C K  m. Gebiet 
    135129$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae,  
    136 to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung  
    137 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    138 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 
    139  
     130to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, f.istgebucht, g.gemarkungsnummer, g.bezeichnung,  
     131r.bezeichnung AS rbez, k.bezeichnung AS kbez, m.bezeichnung AS mbez  
     132FROM ax_flurstueck f  
     133LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
     134LEFT JOIN ax_regierungsbezirk r ON f.regierungsbezirk=r.regierungsbezirk  
     135LEFT JOIN ax_kreisregion k ON f.regierungsbezirk=k.regierungsbezirk AND f.kreis=k.kreis  
     136LEFT JOIN ax_gemeinde m ON m.regierungsbezirk=f.regierungsbezirk AND m.kreis=f.kreis AND m.gemeinde=f.gemeinde 
     137WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL AND m.endet IS NULL AND k.endet IS NULL AND r.endet IS NULL;"; 
    140138$v = array($gmlid); // mit gml_id suchen 
    141139$res = pg_prepare("", $sql); 
    142140$res = pg_execute("", $v); 
    143  
    144141if (!$res) { 
    145142        echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>"; 
    146143        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    147144} 
    148 if ($row = pg_fetch_array($res)) { 
     145if ($row = pg_fetch_assoc($res)) { 
    149146        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    150147        $gmkgnr=$row["gemarkungsnummer"]; 
    151148        $bezirk=$row["regierungsbezirk"]; 
     149        $rbez=htmlentities($row["rbez"], ENT_QUOTES, "UTF-8"); 
    152150        $kreis=$row["kreis"]; 
     151        $kbez=htmlentities($row["kbez"], ENT_QUOTES, "UTF-8"); 
    153152        $gemeinde=$row["gemeinde"]; 
     153        $mbez=htmlentities($row["mbez"], ENT_QUOTES, "UTF-8"); 
    154154        $flurnummer=$row["flurnummer"]; 
    155155        $zaehler=$row["zaehler"]; 
     
    163163        $fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m&#178;"; 
    164164        $entsteh=$row["zeitpunktderentstehung"]; 
     165        $gml_buchungsstelle=$row["istgebucht"]; // wird erst im GB-Teil benötigt 
    165166        $name=$row["name"]; // Fortfuehrungsnummer(n) 
    166167        $arrn = explode(",", trim($name, "{}") ); // PHP-Array 
     
    173174pg_free_result($res); 
    174175 
    175 // Balken 
    176 if ($eig=="j") { 
     176if ($eig=="j") { // Balken 
    177177        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>" 
    178         ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>"; 
     178        ."\n\n<h2>Flurst&uuml;ck mit Eigent&uuml;mer</h2>"; 
    179179} else { 
    180180        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>" 
    181         ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck</h2>"; 
     181        ."\n\n<h2>Flurst&uuml;ck</h2>"; 
    182182} 
    183183 
     
    186186if ( ($filtkreis != '' and $filtkreis != $kreis) or ($filtgem != '' and $filtgem != $gemeinde) ) { 
    187187        // Einer der gesetzten Filter passt nicht 
    188         if ($debug > 2) { 
    189         //++ Schönes Bild? Stop-Zeichen? 
     188        if ($debug > 2) { //++ Schönes Bild? Stop-Zeichen? 
    190189                echo "\n<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>" 
    191190                ."\n<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
     
    196195} 
    197196 
    198 echo "\n<table class='outer'>\n<tr>\n\t<td>" // linke Seite 
    199         ."\n\t\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t\t<tr>" // darin Tabelle Kennzeichen 
    200                 ."\n\t\t\t<td class='head'>Gmkg</td>\n\t\t\t<td class='head'>Flur</td>\n\t\t\t<td class='head'>Flurst-Nr.</td>\n\t\t</tr>" 
    201                 ."\n\t\t<tr>\n\t\t\t<td title='Gemarkung'>"; 
    202                 if ($showkey) { 
    203                         echo "<span class='key'>".$gmkgnr."</span><br>"; 
    204                 } 
    205                 echo $gemkname."&nbsp;</td>" 
    206                 ."\n\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    207                 ."\n\t\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t\t</tr>" 
    208         ."\n\t\t</table>" 
    209 ."\n\t</td>\n\t<td>" // rechte Seite 
    210         ."\n\t\t<table class='fsd'>" // FS-Daten 2 Spalten 
    211                 ."\n\t\t<tr>\n\t\t\t<td>Entstehung</td>" 
    212                 ."\n\t\t\t<td>".$entsteh."</td>\n\t\t</tr>" 
    213                 ."\n\t\t<tr>" 
    214                         ."\n\t\t\t<td>letz. Fortf</td>" 
    215                         ."\n\t\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
     197echo "\n<table class='outer'>" 
     198        ."\n\t<tr>\n\t\t<td class='ll'><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Kennzeichen:</td>" // Links 
     199        ."\n\t\t<td>" // Mitte 
     200        ."\n\t\t\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t\t\t\t<tr>" // darin Tabelle Kennzeichen 
     201                ."\n\t\t\t\t\t<td class='head'>Gemarkung</td>\n\t\t\t\t\t<td class='head'>Flur</td>\n\t\t\t\t\t<td class='head'>Flurst-Nr.</td>\n\t\t\t\t</tr>" 
     202                ."\n\t\t\t\t<tr>\n\t\t\t\t\t<td title='Gemarkung'>"; 
     203                        if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
     204                        echo $gemkname."&nbsp;</td>" 
     205                ."\n\t\t\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
     206                ."\n\t\t\t\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t\t\t\t</tr>" 
     207        ."\n\t\t\t</table>" 
     208        ."\n\t\t</td>\n\t\t<td>" // Rechts 
     209        ."\n\t\t\t<table class='fsd'>" // FS-Daten 2 Spalten 
     210                ."\n\t\t\t\t<tr>\n\t\t\t\t\t<td>Entstehung</td>" 
     211                ."\n\t\t\t\t\t<td>".$entsteh."</td>\n\t\t\t\t</tr>" 
     212                ."\n\t\t\t\t<tr>" 
     213                        ."\n\t\t\t\t\t<td>letz. Fortf</td>" 
     214                        ."\n\t\t\t\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
    216215                                foreach($arrn AS $val) { // Zeile f. jedes Element des Array 
    217216                                        echo trim($val, '"')."<br>"; 
    218217                                } 
    219218                        echo "</td>" 
    220                 ."\n\t\t</tr>" 
    221         ."\n\t\t</table>" 
    222 ."\n\t</td>\n</tr>\n</table>"; 
    223 //      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>"; 
    224 // Ende Seitenkopf 
    225  
    226 echo "\n<hr>" 
    227 ."\n<p class='nwlink noprint'>weitere Auskunft:</p>" // oben rechts von der Tabelle 
    228 ."\n<table class='fs'>"; 
    229  
    230 // ** G e b i e t s z u g e h o e r i g k e i t ** 
    231 // eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben 
    232 // Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist? 
    233 echo "\n<tr>\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.png' width='16' height='16' alt=''> Gebiet:</td>"; 
    234  
    235 // G e m e i n d e 
    236 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3 AND endet IS NULL;";  
    237  
    238 $v = array($bezirk,$kreis,$gemeinde); 
    239 $res = pg_prepare("", $sql); 
    240 $res = pg_execute("", $v); 
    241 if (!$res) { 
    242         echo "\n<p class='err'>Fehler bei Gemeinde</p>"; 
    243         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
    244 } 
    245 $row = pg_fetch_array($res); 
    246 $gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    247 echo "\n\t<td class='lr'>Gemeinde</td>\n\t<td class='lr' colspan='3'>"; 
    248 if ($showkey) {echo "<span class='key'>(".$gemeinde.")</span> ";} 
    249 // Link zur FS-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft") 
    250 echo $gnam."</td>\n\t<td class='nwlink'>" 
    251         ."\n\t\t<p class='nwlink noprint'>" 
     219                ."\n\t\t\t\t</tr>" 
     220        ."\n\t\t\t</table>" 
     221."\n\t\t</td>\n\t</tr>\n</table>"; 
     222 
     223echo "\n<hr>\n<table class='fs'>"; // FS-Teil 6 Spalten 
     224echo "\n<tr>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>" // 1-5 in erster Zeile kein "colspan" verwenden 
     225        ."\n\t\t<td>\n\t\t<p class='nwlink noprint'>weitere Auskunft:</p></td>" // 6 
     226."\n</tr>"; 
     227 
     228echo "\n<tr>" // Zeile: G e b i e t s z u g e h o e r i g k e i t  Gemeinde / Kreis / Regierungsbezirk 
     229        ."\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.png' width='16' height='16' alt=''> Gebiet:</td>" // 1 
     230        ."\n\t<td>Gemeinde<br>Kreis<br>Regierungsbezirk</td>" // 2 
     231        ."\n\t<td class='lr' colspan='3'>"; // 3-5 
     232                if ($showkey) {echo "<span class='key'>(".$gemeinde.")</span> ";} 
     233                echo $mbez."<br>"; 
     234                if ($showkey) {echo "<span class='key'>(".$kreis.")</span> ";} 
     235                echo $kbez."<br>"; 
     236                if ($showkey) {echo "<span class='key'>(".$bezirk.")</span> ";} 
     237                echo $rbez 
     238        ."</td>" 
     239        ."\n\t<td class='nwlink'>" // 5 
     240                ."\n\t\t<p class='nwlink noprint'>" 
    252241                ."\n\t\t\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    253                         if ($showkey) {echo "&amp;showkey=j";} 
    254                         echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie " 
    255                         ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
     242                if ($showkey) {echo "&amp;showkey=j";} 
     243                echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie " 
     244                ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
    256245                ."</a>" 
    257         ."\n\t\t</p>" 
    258 . "\n\t</td>\n</tr>"; 
    259 pg_free_result($res); 
    260  
    261 // K r e i s 
    262 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2 AND endet IS NULL;";  
    263 $v = array($bezirk,$kreis); 
    264 $res = pg_prepare("", $sql); 
    265 $res = pg_execute("", $v); 
    266 if (!$res) { 
    267         echo "\n<p class='err'>Fehler bei Kreis</p>"; 
    268         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
    269 } 
    270 $row = pg_fetch_array($res); 
    271 $knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    272 echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>Kreis</td>\n\t<td class='lr' colspan='3'>"; 
    273 if ($showkey) {echo "<span class='key'>(".$kreis.")</span> ";} 
    274 echo $knam."</td>\n\t<td>&nbsp;</td>\n</tr>"; 
    275 pg_free_result($res); 
    276  
    277 // R e g - B e z 
    278 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 AND endet IS NULL;"; 
    279 $v = array($bezirk); 
    280 $res = pg_prepare("", $sql); 
    281 $res = pg_execute("", $v); 
    282 if (!$res) { 
    283         echo "\n<p class='err'>Fehler bei Regierungsbezirk</p>"; 
    284         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 
    285 } 
    286 $row=pg_fetch_array($res); 
    287 $bnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    288 echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>Regierungsbezirk</td>\n\t<td class='lr' colspan='3'>"; 
    289 if ($showkey) {echo "<span class='key'>(".$bezirk.")</span> ";} 
    290 echo $bnam."</td>\n\t<td>&nbsp;</td>\n</tr>"; 
    291 pg_free_result($res); 
    292 // ENDE G e b i e t s z u g e h o e r i g k e i t 
     246                ."\n\t\t</p>" 
     247        ."\n\t</td>" // 6 
     248."\n</tr>"; 
    293249 
    294250// ** L a g e b e z e i c h n u n g ** 
    295251 
    296252// Lagebezeichnung  M I T  Hausnummer 
    297  
    298253// ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer 
    299254$sql="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung, s.gml_id AS kgml 
     
    316271        $j=0; 
    317272        $kgmlalt=""; 
    318         while($row = pg_fetch_array($res)) { 
     273        while($row = pg_fetch_assoc($res)) { 
    319274                $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
    320275                if (substr($sname, strlen($sname) -3, 3) == 'weg') { // Versuch fuer korrekten Satzbau 
     
    324279                } 
    325280                $hsnr=$row["hausnummer"]; 
    326                 echo "\n<tr>\n\t"; 
    327                         if ($j == 0) { 
     281                echo "\n<tr>"; 
     282                        if ($j == 0) { // 1 
    328283                                echo "\n\t<td class='ll'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Adresse:</td>"; 
    329284                        } else { 
    330285                                echo "\n\t<td>&nbsp;</td>"; 
    331286                        } 
    332                         echo "\n\t<td>&nbsp;</td>" 
    333                         ."\n\t<td class='lr' colspan='3'>"; 
    334                         if ($showkey) { 
    335                                 echo "<span class='key' title='Straßenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;"; 
    336                         } 
    337                         echo $sname."&nbsp;".$hsnr."</td>"; 
    338  
    339                         // rechte Spalte 
    340                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     287                        echo "\n\t<td>&nbsp;</td>" // 2 
     288                        ."\n\t<td class='lr' colspan='3'>"; // 3-5 
     289                                if ($showkey) {echo "<span class='key' title='Straßenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;";} 
     290                                echo $sname."&nbsp;".$hsnr."</td>"; 
     291                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; // 6 
    341292 
    342293                        // +++ davor auch Link "Straße" 
     
    352303                                if ($showkey) {echo "&amp;showkey=j";} 
    353304                                echo "'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>" 
    354                         ."\n\t\t</p>\n\t</td>" 
     305                        ."\n\t\t</p>\n\t</td>"  // 6 
    355306                ."\n</tr>"; 
    356307                $j++; 
     
    359310        pg_free_result($res); 
    360311} 
    361 // +++ Verbesserung: mehrere HsNr zur gleichen Straße als Liste? 
    362312 
    363313// Lagebezeichnung  O H N E  Hausnummer  (Gewanne oder nur Strasse) 
    364  
    365314// ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer 
    366315$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung  
     
    378327} 
    379328$j=0; 
    380 while($row = pg_fetch_array($res)) { 
     329while($row = pg_fetch_assoc($res)) { 
    381330        $skey=$row["lage"]; // Strassenschl. 
    382331        $lgml=$row["gml_id"]; // key der Lage 
    383332        $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 
    384  
    385333        if ($gewann != "") { 
    386334                echo "\n<tr>" 
    387                         ."\n\t<td class='ll' title='unverschl&uuml;sselte Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>" 
    388                         ."\n\t<td></td>" 
    389                         ."\n\t<td class='lr' colspan='3'>".$gewann."</td>" 
    390                         ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
     335                        ."\n\t<td class='ll' title='unverschl&uuml;sselte Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>" // 1 
     336                        ."\n\t<td></td>" // 2 
     337                        ."\n\t<td class='lr' colspan='3'>".$gewann."</td>" // 3-5 
     338                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>" // 6 
    391339                                ."\n\t\t\t<a title='Flurst&uuml;cke mit der Gewanne ".$gewann."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    392340                                if ($showkey) {echo "&amp;showkey=j";}                           
    393341                                echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>" 
    394                         ."\n\t\t</p>\n\t</td>" 
     342                        ."\n\t\t</p>\n\t</td>" // 6 
    395343                ."\n</tr>"; 
    396344        } elseif ($skey > 0) { 
     
    402350                } 
    403351                echo "\n<tr>" 
    404                         ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>" 
    405                         ."\n\t<td></td>" 
    406                         ."\n\t<td class='lr' colspan='3'>"; 
    407                         if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";} 
    408                         echo $sname."</td>"; 
    409  
    410                         // rechte Spalte 
    411                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>" 
     352                        ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>" // 1 
     353                        ."\n\t<td></td>" // 2 
     354                        ."\n\t<td class='lr' colspan='3'>"; // 3-5 
     355                                if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";} 
     356                                echo $sname."</td>"; 
     357                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>" // 6 
    412358                                ."\n\t\t\t<a title='FlurstÃŒcke ".$slink."' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    413359                                if ($showkey) {echo "&amp;showkey=j";}                           
    414360                                echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>" 
    415                         ."\n\t\t</p>\n\t</td>" 
     361                        ."\n\t\t</p>\n\t</td>" // 6 
    416362                ."\n</tr>"; 
    417363        } 
     
    419365} 
    420366pg_free_result($res); 
    421 // ENDE  L a g e b e z e i c h n u n g 
    422  
    423 // ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS 
    424 // Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben 
    425  
    426 /* N U T Z U N G   C l a s s i c (alt) 
    427 $sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe,  
    428 st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla  
    429 FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id  
    430 LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class  
    431 WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true  
    432 AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05  
    433 AND f.endet IS NULL ORDER BY schnittflae DESC;"; 
    434  
    435 $v = array($gmlid); 
    436 $res = pg_prepare("", $sql); 
    437 $res = pg_execute("", $v); 
    438 if (!$res) { 
    439         echo "\n<p class='err'>Fehler bei Suche tats. Nutzung</p>"; 
    440         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    441 } 
    442 $the_Xfactor=$fsbuchflae / $fsgeomflae; // geom. ermittelte FlÀche auf amtl. BuchflÀche angleichen 
    443 $j=0; 
    444 while($row = pg_fetch_array($res)) { 
    445         $grupp=$row["gruppe"]; // 4 Gruppen 
    446         $nutzid=$row["nutz_id"]; // 27 Tabellen, num. Key 
    447         $title=htmlentities($row["title"], ENT_QUOTES, "UTF-8"); // Titel der 27 Tabellen 
    448         $fldclass=$row["fldclass"]; // Name 1. Zusatzfeld 
    449         $fldinfo= $row["fldinfo"];  // Name 2. Zus. 
    450         $gml=$row["gml_id"]; 
    451         $class=$row["class"]; // 1. Zusatzfeld verschlÃŒsselt -> nutzung_class 
    452         $info=$row["info"]; // 2. Zus. verschlÃŒsselt (noch keine Info zum entschl.) 
    453         $schnittflae=$row["schnittflae"]; 
    454         $label=$row["label"]; // Nutzungsart entschlÃŒsselt 
    455         $zus=$row["zustand"]; // im Bau 
    456         $nam=$row["name"]; // Eigenname 
    457         $bez=$row["bezeichnung"]; // weiterer Name (unverschl.) 
    458         $blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8"); 
    459         $label=str_replace("/", "<br>", $label); // Ersetzt "/" durch html-Zeilenwechsel 
    460  
    461         echo "\n<tr>\n\t"; 
    462                 if ($j == 0) { 
    463                         echo "<td class='ll' title='Abschnitt der tats&auml;chlichen Nutzung'><img src='ico/Abschnitt.png' width='16' height='16' alt=''> Nutzung:</td>"; 
    464                 } else { 
    465                         echo "<td>&nbsp;</td>"; 
    466                 } 
    467                 $absflaebuch = $schnittflae * $the_Xfactor; // angleichen geometrisch an amtliche FlÀche 
    468                 $schnittflae = number_format($schnittflae,1,",",".") . " m&#178;"; // geometrisch 
    469                 $absflaebuch = number_format($absflaebuch,0,",",".") . " m&#178;"; // Abschnitt an BuchflÀche angeglichen 
    470                 echo "\n\t<td class='fla' title='geometrisch berechnet: ".$schnittflae."'>".$absflaebuch."</td>"; 
    471  
    472                 echo "\n\t<td class='lr' colspan='3'>"; 
    473                         if ($class == 0) { 
    474                                 if ($showkey) {echo "<span class='key'>(".$nutzid.")</span> ";} 
    475                                 echo $title; // Name der Tabelle 
    476                         } elseif ( ($fldclass == "Funktion" OR $fldclass == "Vegetationsmerkmal") AND $label != "") { // Kurze Anzeige 
    477                                 if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";} 
    478                                 if ($blabla = "") { 
    479                                         echo $label; 
    480                                 } else { 
    481                                         echo "<span title='".$blabla."'>".$label."</span>"; 
    482                                 } 
    483                         } else { // ausfuehrlichere Anzeige 
    484                                 echo $title; // NUA-Tabelle 
    485                                 if ($class != "") { // NUA-SchlÃŒssel 
    486                                         echo ", ".$fldclass.": "; // Feldname 
    487                                         if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";} 
    488                                         if ($label != "") { // Bedeutung dazu wurde erfasst 
    489                                                 if ($blabla = "") { 
    490                                                         echo $label; 
    491                                                 } else { 
    492                                                         echo "<span title='".$blabla."'>".$label."</span>"; 
    493                                                 } 
    494                                         } else { // muss noch erfasst werden 
    495                                                 echo $class." "; // SchlÃŒssel als Ersatz fÃŒr Bedeutung 
    496                                         } 
    497                                 } 
    498                         } 
    499                         if ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?) 
    500                                 echo ", ".$fldinfo."=".$info; 
    501                         } 
    502                         if ($zus != "") { // Zustand 
    503                                 echo "\n\t\t<br>"; 
    504                                 if ($showkey) {echo "<span class='key'>(".$zus.")</span> ";} 
    505                                 echo "<span title='Zustand'>";                           
    506                                 switch ($zus) { 
    507                                         case 2100: echo "Außer Betrieb, stillgelegt, verlassen"; break; 
    508                                         case 4000: echo "Im Bau"; break; 
    509                                         case 8000: echo "Erweiterung, Neuansiedlung"; break; 
    510                                         default: echo "Zustand: ".$zus; break; 
    511                                 } 
    512                                 echo "</span>"; 
    513                         } 
    514                         if ($nam != "") {echo "<br>Name: ".$nam;} 
    515                         if ($bez != "") {echo "<br>Bezeichnung: ".$bez;} 
    516  
    517                 echo "</td>"; 
    518                 echo "\n\t<td>"; 
    519                         switch ($grupp) { // Icon nach 4 Objektartengruppen 
    520                                 case "Siedlung":   $ico = "Abschnitt.png"; break; 
    521                                 case "Verkehr":    $ico = "Strassen_Klassifikation.png"; break; 
    522                                 case "Vegetation": $ico = "Wald.png"; break; 
    523                                 case "GewÀsser":   $ico = "Wasser.png";        break; 
    524                                 default:        $ico = "Abschnitt.png"; break; 
    525                         } 
    526                         // Icon ist auch im Druck sichtbar, class='noprint' ?            
    527                         echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; 
    528                 echo "</td>"; 
    529         echo "\n</tr>"; 
    530         $j++; 
    531 } 
    532   E N D E   N U T Z U N G   C l a s s i c  */ 
    533  
    534 /* Status "Nutzung": 
    535  
    536  Die Classic-Tabelle "nutzung" ist eine Zusammenfassung aller Tabellen mit Nutzungs-FlÀchen 
    537  Die Classic-Tabelle "nutzung_meta" zeigt die Kategorie und Gruppe des Nutzungs-Abschnitts an. 
    538  
    539  Aus der norGIS-Struktur wird ersatzweise VORLÄUFIG die Tabelle "nutz_21" verwendet, 
    540  die das alte ALB-Format der Nutzungs-Abschnitte von FlurstÃŒcken simuliert. 
    541  Hier finden sich bereits verschnittene FlÀchen, aber die gml_id fehlt. 
    542  
    543  Die EntschlÃŒsselung der Nutzungsart in den verschiedenen ALKIS-Varianten ist darin unterentwickelt. 
    544  Diese ist eigentlich fÃŒr jede der getrennten Tabellen der Gruppe Nutzungsart individuell. 
    545  Die Classic-Lösung mit 2 Zusatzfeldern war schon sehr pauschalisiert, aber  
    546  durch die RÃŒck-Konvertierung in ALB-Strukturen in der norGIS-Version ist das zu stark vereinfacht. 
    547  z.B. wird "WohnbauflÀche" mit der Zusatzeigenschaft "Art der Bebauung": 'Offen' 
    548  nun zur Nutzungsart "Offen". 
    549  Durch JOIN auf die "alkis_elemente" mit einem Teil des SchlÃŒssels wird das zur "WohnbauflÀche, Offen". 
    550  Es sollte eine Tabellen-Struktur bereit gestellt werden, die auch aussagt, dass der Wert "Offen" zur 
    551  Zusatz-Eigenschaft "Art der Bebauung" gehört. Dazu muss das PostProcessing erweitert werden. */ 
    552  
     367 
     368/* Status "N u t z u n g": 
     369Die Classic-Tabelle "nutzung" ist eine Zusammenfassung aller Tabellen mit Nutzungs-FlÀchen 
     370Die Classic-Tabelle "nutzung_meta" zeigt die Kategorie und Gruppe des Nutzungs-Abschnitts an. 
     371 
     372Aus der norGIS-Struktur wird ersatzweise VORLÄUFIG die Tabelle "nutz_21" verwendet, 
     373die das alte ALB-Format der Nutzungs-Abschnitte von FlurstÃŒcken simuliert. 
     374Hier finden sich bereits verschnittene FlÀchen, aber die gml_id fehlt. 
     375 
     376Die EntschlÃŒsselung der Nutzungsart in den verschiedenen ALKIS-Varianten ist darin unterentwickelt. 
     377Diese ist eigentlich fÃŒr jede der getrennten Tabellen der Gruppe Nutzungsart individuell. 
     378Die Classic-Lösung mit 2 Zusatzfeldern war schon sehr pauschalisiert, aber  
     379durch die RÃŒck-Konvertierung in ALB-Strukturen in der norGIS-Version ist das zu stark vereinfacht. 
     380z.B. wird "WohnbauflÀche" mit der Zusatzeigenschaft "Art der Bebauung": 'Offen' 
     381nun zur Nutzungsart "Offen". 
     382Durch JOIN auf die "alkis_elemente" mit einem Teil des SchlÃŒssels wird das zur "WohnbauflÀche, Offen". 
     383Es sollte eine Tabellen-Struktur bereit gestellt werden, die auch aussagt, dass der Wert "Offen" zur 
     384Zusatz-Eigenschaft "Art der Bebauung" gehört. Dazu muss das PostProcessing erweitert werden. */ 
    553385 
    554386$sql="SELECT e.definition, trim(both FROM n.nutzsl) AS nutzsl, trim(both FROM n.fl) AS fl, trim(both FROM s.nutzung) AS nutzung 
     
    565397        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = FS-Kennz = '".$fskennzalb."'</p>";} 
    566398} 
    567  
    568399$j=0; 
    569 while($row = pg_fetch_array($res)) { 
     400while($row = pg_fetch_assoc($res)) { 
    570401        $flae=$row["fl"]; // BuchflÀche 
    571402        $nutzsl=$row["nutzsl"]; // SchlÃŒssel 
     
    573404        $defi=$row["definition"]; // Langer Text mit Beschreibung 
    574405        $title=htmlentities($defi, ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
    575  
    576406        echo "\n<tr>\n\t"; 
    577                 if ($j == 0) { 
     407                if ($j == 0) { // 1 
    578408                        echo "<td class='ll' title='Abschnitt der tats&auml;chlichen Nutzung'><img src='ico/Abschnitt.png' width='16' height='16' alt=''> Nutzung:</td>"; 
    579409                } else { 
     
    581411                } 
    582412                $absflaebuch = number_format($flae,0,",",".") . " m&#178;"; // Formatierte Abschnitts-Buch-FlÀche 
    583                 echo "\n\t<td class='fla' title='Buchfl&auml;che des Abschnitts'>".$absflaebuch."</td>"; 
    584  
    585                 echo "\n\t<td class='lr' colspan='3' title='".$title."'>"; 
     413                echo "\n\t<td></td>"; // 2 
     414                echo "\n\t<td class='fla' title='Buchfl&auml;che des Abschnitts'>".$absflaebuch."</td>"; // 3 - gleiche Spalte wie Fl. in BodenschÀtzg. 
     415                echo "\n\t<td></td>"; // 4 
     416                echo "\n\t<td class='lr' title='".$title."'>"; // 5 - gleiche Sp. wie Zustandsstufe usw. 
    586417                        if ($showkey) {echo "<span class='key'>(".$nutzsl.")</span> ";} 
    587418                        echo $nutzung 
    588419                ."</td>" 
    589                 ."\n\t<td>"; 
     420                ."\n\t<td>"; // 6 
    590421/*              // Derzeit ist keine Gruppe zugeordnet 
    591422                        switch ($grupp) { // Icon nach 4 Objektartengruppen 
     
    597428                        } 
    598429                        // Icon ist auch im Druck sichtbar, class='noprint' ?            
    599                         echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; 
    600 */ 
    601                 echo "</td>" 
     430                        echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; */ 
     431                echo "</td>" // 6 
    602432        ."\n</tr>"; 
    603433        $j++; 
     
    605435pg_free_result($res); 
    606436 
    607 echo "\n<tr>" // Summenzeile 
    608         ."\n\t<td class='re' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>" 
    609         ."\n\t<td class='fla sum'>" 
    610         ."<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>"; 
    611  
    612         // Flaeche und Link auf GebÀude-Auswertung 
    613         echo "\n\t<td colspan='3'>&nbsp;</td>\n\t<td>" 
     437echo "\n<tr>" // FlÀchen-Summenzeile 
     438        ."\n\t<td class='re' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>" // 1 
     439        ."\n\t<td>&nbsp;</td>" // 2 
     440        ."\n\t<td class='fla sum'>" // 3 Flaeche 
     441                ."<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>" 
     442        ."\n\t<td>&nbsp;</td>" // 4 
     443        ."\n\t<td>&nbsp;</td>" // 5 
     444        ."\n\t<td>" // 6 Link auf GebÀude-Auswertung 
    614445                ."\n\t\t<p class='nwlink noprint'>" // Gebaeude-Verschneidung 
    615                         ."\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    616                         if ($showkey) {echo "&amp;showkey=j";} 
    617                         if ($cnt_adressen > 0) { // wenn Adresse vorgekommen ist 
    618                                 echo "' title='Geb&auml;ude auf oder an dem Flurst&uuml;ck'>Geb&auml;ude "; 
    619                         } else { // GebÀude mit Adresse gibt es NICHT, das ist klar 
    620                                 echo "' title='Suche Geb&auml;ude ohne Adresse auf dem Flurst&uuml;ck oder angrenzende Geb&auml;ude'>Suche "; 
    621                         } 
    622                         echo "<img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
     446                ."\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     447                if ($showkey) {echo "&amp;showkey=j";} 
     448                if ($cnt_adressen > 0) { // wenn Adresse vorgekommen ist 
     449                        echo "' title='Geb&auml;ude auf oder an dem Flurst&uuml;ck'>Geb&auml;ude "; 
     450                } else { // GebÀude mit Adresse gibt es NICHT, das ist klar 
     451                        echo "' title='Suche Geb&auml;ude ohne Adresse auf dem Flurst&uuml;ck oder angrenzende Geb&auml;ude'>Suche "; 
     452                } 
     453                echo "<img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
    623454                ."\n\t\t</p>" 
    624         ."\n\t</td>" 
    625 ."\n</tr>"; 
    626 // ENDE  N U T Z U N G 
    627  
    628  
    629 // K L A S S I F I Z I E R U N G 
    630  
    631 // Klassifizierung nach  W a s s e rrecht 
    632 /*  
    633         // Tabelle immer leer? 
    634 $sql="SELECT h.v, w.artderfestlegung, st_area(st_intersection(w.wkb_geometry, f.wkb_geometry)) AS schnittflae, f.amtlicheflaeche, st_area(f.wkb_geometry) as fsgeomflae  
    635 FROM ax_flurstueck f 
    636 JOIN ax_klassifizierungnachwasserrecht w 
    637  ON st_intersects(w.wkb_geometry, f.wkb_geometry) AND st_area(st_intersection(w.wkb_geometry, f.wkb_geometry)) > 0.05 
    638 LEFT JOIN alkis_wertearten h 
    639  ON cast(w.artderfestlegung AS character varying) = h.k AND h.element='ax_klassifizierungnachwasserrecht' AND h.bezeichnung='artderfestlegung' 
    640 WHERE f.gml_id = $1 AND f.endet IS NULL AND w.endet IS NULL ORDER BY schnittflae DESC"; 
    641  
    642 $v = array($gmlid); 
    643 $res = pg_prepare("", $sql); 
    644 $res = pg_execute("", $v); 
    645 if (!$res) {echo "\n<p class='err'>Fehler bei DB-Abfrage zur Klassifizierung Wasser</p>\n";} 
    646  
    647 if(!empty($res) && pg_num_rows($res) > 0) { 
    648         echo "\n<table>"; 
    649         while($row = pg_fetch_array($res)) { 
    650                 $fsbuchflae=$row["amtlicheflaeche"]; 
    651                 $fsgeomflae=$row["fsgeomflae"]; 
    652                 $the_Xfactor=$fsbuchflae / $fsgeomflae; // ++ nicht in Loop, ist konst. je FS 
    653                 $absflaebuch = $row['schnittflae'] * $the_Xfactor; 
    654                 echo"\n<tr><td></td><td></td></tr>" 
    655                 ."\n<tr><td><b>FlÀche</b></td><td class='klassifizerung'><span class=''>".number_format(intval($absflaebuch),0,",",".")." m²</span></td></tr>"         
    656                 ."\n<tr><td><b>Bezeichnung</b></td><td class='klassifizerung'><span class=''>".$row['v']."</span></td></tr>" 
    657                 ."\n<tr><td></td><td></td></tr>";        
    658         } 
    659         echo "</table>"; 
    660 } 
    661 // Klassifizierung nach  S t r a ß e n recht 
    662         // Tabelle immer leer? 
    663 */ 
     455        ."\n\t</td>" // 6 
     456        ."\n</tr>"; 
    664457 
    665458// B o d e n s c h À t z u n g 
     
    668461 
    669462// BodenschÀtzungs-Abschnitte mit FlurstÃŒcken verschneiden, Spalten entschlÃŒsseln 
    670 $sql="SELECT  
    671  kulturart.k AS kulturartk, kulturart.v AS kulturartv,  
    672  bodenart.k  AS bodenartk,  bodenart.v  AS bodenartv,  
     463$sql="SELECT kulturart.k AS kulturartk, kulturart.v AS kulturartv, 
     464 bodenart.k  AS bodenartk,  bodenart.v  AS bodenartv, 
    673465 zustbod.v AS zustbodv, 
    674466 b.entstehungsartoderklimastufewasserverhaeltnisse AS entsteh, b.sonstigeangaben, 
    675  b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl,  
     467 b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl, 
    676468 b.jahreszahl, st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) AS schnittflae  
    677469FROM ax_flurstueck f 
     
    686478$res = pg_execute("", $v); 
    687479if (!$res) {echo "\n<p class='err'>Fehler bei DB-Abfrage zur Klassifizierung Boden</p>\n";} 
    688  
    689480$gesertragsmz = 0; // Gesamt-ErtragsMesszahl 
    690481$klasflae = 0; // Summe klassifizierte FlÀche 
    691482$j=0; 
    692  
    693483if(!empty($res) && pg_num_rows($res) > 0) { 
    694  
    695         while ($row = pg_fetch_array($res)) { 
     484        while ($row = pg_fetch_assoc($res)) { 
    696485                $kulturartk=$row['kulturartk']; // Key  - 
    697486                $kulturartv=$row['kulturartv']; //              - Value 
     
    718507                $entsteh=$row['entsteh']; 
    719508                $sonst=$row['sonstigeangaben']; 
    720  
    721                 // Sp. 1/4 
    722                 if ($j == 0) { 
     509                if ($j == 0) { // 1 
    723510                        echo "\n<tr>\n\t<td class='ll' title='Abschnitt Bodensch&auml;tzung'><img src='ico/Landwirt.png' width='16' height='16' alt=''> Bodensch&auml;tzung:</td>"; 
    724511                } else { 
    725512                        echo "\n<tr>\n\t<td>&nbsp;</td>"; 
    726513                } 
    727  
    728                 // Sp. 2/4 
    729                 echo "\n\t<td class='fla' title='Ertragsmesszahl: Produkt von ".$kbez2."/100 und Fl&auml;che.'>EMZ ".$ertragszahl."</td>"; 
    730  
    731                 // Sp. 3/4 - unterteilt in 3 Sp. 
    732                 echo "\n\t<td class='re' title='Fl&auml;che des Sch&auml;tzungsabschnitts'>".$absbuchflaedis."</td>"; 
    733                 echo "\n\t<td class='lr'><span title='".$kbez1."'>".$boedenzahl."</span>/<span title='".$kbez2."'>".$ackerzahl."</span></td>"; 
    734                 echo "\n\t<td class='lr'>"; 
     514                echo "\n\t<td class='fla' title='Ertragsmesszahl: Produkt von ".$kbez2."/100 und Fl&auml;che.'>EMZ ".$ertragszahl."</td>"; // 2 
     515                echo "\n\t<td class='re' title='Fl&auml;che des Sch&auml;tzungsabschnitts'>".$absbuchflaedis."</td>"; // 3 
     516                echo "\n\t<td class='lr'><span title='".$kbez1."'>".$boedenzahl."</span>/<span title='".$kbez2."'>".$ackerzahl."</span></td>"; // 4 
     517                echo "\n\t<td class='lr'>"; // 5 
    735518 
    736519                        if ($showkey) {echo "\n\t\t<span class='key'>(".$kulturartk.")</span> ";} 
     
    761544                                echo "\n\t\t<span title='Jahreszahl'>".$jahr."</span>"; 
    762545                        } 
    763                 echo "\n\t</td>"; 
    764  
    765                 // Sp. 4/4 - leer, keine Links 
    766                 echo "\n\t<td>&nbsp;</td>\n</tr>"; 
     546                echo "\n\t</td>"; // 5 
     547                echo "\n\t<td>&nbsp;</td>\n</tr>"; // 6 
    767548                $j++; 
    768549        } 
    769  
    770550        // Summenzeile 
    771551        $klasflaedis = number_format($klasflae,0,",",".")." m&#178;"; 
    772         echo "\n<tr>\n\t<td class='re'>Ertragsmesszahl:</td>" 
    773         ."\n\t<td class='fla sum' title='Summe der Ertragsmesszahlen f&uuml;r dies Flurst&uuml;ck'>".$gesertragsmz."</td>" 
    774         ."\n\t<td class='re'>".$klasflaedis."</td>\n\t<td colspan='3'>&nbsp;</td>\n</tr>"; 
     552        echo "\n<tr>\n\t<td class='re'>Ertragsmesszahl:</td>" // 1 
     553        ."\n\t<td class='fla sum' title='Summe der Ertragsmesszahlen f&uuml;r dies Flurst&uuml;ck'>".$gesertragsmz."</td>" // 2 
     554        ."\n\t<td class='re'>".$klasflaedis."</td>" // 3 
     555        ."\n\t<td colspan='3'>&nbsp;</td>\n</tr>"; // 4-6 
    775556} 
    776557 
     
    791572        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sql_boden."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    792573} 
    793  
    794574$sql_str="SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze)  
    795575AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL),wkb_geometry);"; 
     
    801581        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sql_str."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    802582} 
    803  
    804583if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) { 
    805584        echo "\n<tr>" 
    806         ."\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> " 
    807         ."Hinweise:</h6></td>\n\t<td colspan='5'>&nbsp;</td>" 
    808         ."\n</tr>"; 
    809  
     585        ."\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> " // 1 
     586        ."Hinweise:</h6></td>\n\t<td colspan='5'>&nbsp;</td>\n</tr>";// 2-6 
    810587        if (pg_num_rows($res_bodeneuordnung) > 0) { 
    811  
    812                 while ($row = pg_fetch_array($res_bodeneuordnung)) { // 3 Zeilen je Verfahren 
    813  
    814                         // Zeile 1 - kommt immer, darum hier den Link 
    815                         echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>" 
    816                                 ."\n\t<td>Bodenrecht</td>" 
    817                                 ."\n\t<td class='re'>Festlegung: </td>" // "Art der Festlegung" zu lang 
    818                                 ."\n\t<td colspan='3'>"; 
     588                while ($row = pg_fetch_assoc($res_bodeneuordnung)) { // 3 Zeilen je Verfahren 
     589                        echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>" // Zeile 1 - kommt immer, darum hier den Link 
     590                                ."\n\t<td>Bodenrecht</td>" // 1 
     591                                ."\n\t<td class='re'>Festlegung: </td>" // 2 "Art der Festlegung" zu lang 
     592                                ."\n\t<td colspan='3'>"; // 3-5 
    819593                                        if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";} 
    820594                                        echo $row['art_verf'] 
    821595                                ."</td>"; 
    822                                 // LINK: 
    823                                 echo "\n\t<td>" 
     596                                echo "\n\t<td>" // 6 LINK: 
    824597                                        ."\n\t\t<p class='nwlink noprint'>" 
    825598                                        ."\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml']; 
     
    829602                                ."\n\t</td>" 
    830603                        ."\n</tr>"; 
    831  
    832                         // Zeile 2 
    833                         $dstell=$row['stelle_key']; 
     604                        $dstell=$row['stelle_key']; // Zeile 2 
    834605                        if ($dstell != "") { // Kann auch leer sein 
    835606                                echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>" 
    836                                         ."\n\t<td>&nbsp;</td>" 
    837                                         ."\n\t<td class='re'>Dienststelle: </td>" 
    838                                         ."\n\t<td colspan='3'>"; 
     607                                        ."\n\t<td>&nbsp;</td>" // 1 
     608                                        ."\n\t<td class='re'>Dienststelle: </td>" // 2 
     609                                        ."\n\t<td colspan='3'>"; // 3-5 
    839610                                                if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";} 
    840611                                                echo $row['stelle_bez'] 
    841612                                        ."</td>" 
    842                                         ."\n\t<td>&nbsp;</td>" 
     613                                        ."\n\t<td>&nbsp;</td>" // 6 
    843614                                ."\n</tr>"; 
    844615                        } 
    845  
    846                         // Zeile 3 
    847                         $vbez=$row['verf_bez']; // ist nicht immer gefÃŒllt 
     616                        $vbez=$row['verf_bez']; // Zeile 3, ist nicht immer gefÃŒllt 
    848617                        $vnam=$row['verf_name']; // noch seltener 
    849618                        if ($vbez != "") { 
     
    872641echo "\n</table>"; 
    873642 
    874 // G R U N D B U C H 
    875 echo "\n\n<table class='outer'>" 
    876         ."\n<tr>" 
    877                 ."\n\t<td>" 
    878                         ."\n\t\t<h3 id='gb'><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>" 
    879                 ."\n\t</td>" 
    880                 ."\n\t<td>" 
    881                         ."\n\t\t<p class='nwlink noprint'>" 
    882                                 ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;berbu=".$berbu; 
    883                                 if ($showkey) {echo "&amp;showkey=j";} 
    884  
    885                                 // Umschalter: FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. Positionierung auf Marke "#gb" 
    886                                 if ($eig=="j") { 
    887                                         echo "&amp;eig=n#gb' title='Umschalter: Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
    888                                 } else { 
    889                                         echo "&amp;eig=j#gb' title='Umschalter: Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer " 
    890                                         ."<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 
     643// B U C H U N G S S T E L L E N  zum FS 
     644$bartgrp="";    // Buchungsart 
     645$barttypgrp=""; // Buchungsart Typ 
     646if ($gml_buchungsstelle == '') {echo "\n<p class='err'>Keine Buchungstelle zum Flurst&uuml;ck gefunden.</p>";} 
     647echo "\n<table class='outer'>"; // ALLE Buchungen und EigentÃŒmer in 4 Spalten EINER Tabelle ausgeben 
     648        $stufe=1; // SchleifenzÀhler Tiefe 
     649        $gezeigt=buchung_anzg($gml_buchungsstelle, $eig, false, $gmlid); // die ("dienende") Buchung anzeigen, wenn nicht fiktiv. Liefert true/false 
     650 
     651        $anzber=ber_bs_zaehl($gml_buchungsstelle); // Anzahl berechtigte Buchungen (nÀchste Stufe) zu dieser Buchung ermitteln 
     652        $verf_next = array($gml_buchungsstelle); // Start Recursion mit einem Element 
     653        //if ($debug > 2) {echo "<p class='dbg'>Nach Stufe ".$stufe.", Anzahl: ". $anzber ."</p>";} 
     654 
     655        while ($anzber > 0 ) { // Stufe - recursiv in die Tiefe, solange es was zu verfolgen gibt 
     656                $verf_akt=$verf_next; // die nÀchste Stufe als aktuell ÃŒbernehmen .. 
     657                $verf_next=array(); // .. und zum AuffÃŒllen leeren 
     658                $stufe++; 
     659                $i=0; // SchleifenzÀhler Elemente 
     660                foreach($verf_akt as $gml_ber_bs) { 
     661                        $i++; 
     662                        if (ber_bs_zaehl($gml_ber_bs) > 0) { 
     663                                $verf_neu=ber_bs_anzg($gml_ber_bs, $eig, $gmlid); // Anzeige ber. Buchungst., ggf. mit EigentÃŒmer. 
     664                                $anz_neu=count($verf_neu); // Das Ergebnis zÀhlen 
     665                        //      if ($debug > 2) {echo "<p class='dbg'>Weiter zu verfolgen: Stufe ".$stufe.", Element ".$i.", Anzahl: ".$anz_neu."</p>";} 
     666                                if ($anz_neu > 0) { // wenn neue geliefert 
     667                                        $verf_next=array_merge($verf_next, $verf_neu); // die neuen an die Sammlung heften 
    891668                                } 
    892                         echo "\n\t\t</p>" 
    893                 ."\n\t</td>" 
    894         ."\n</tr>" 
    895 ."\n</table>"; 
    896  
    897 // B U C H U N G S S T E L L E N  zum FS (istGebucht) 
    898 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.v AS bart, b.d AS barttitle 
    899 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON s.gml_id=f.istgebucht  
    900 LEFT JOIN alkis_wertearten b ON cast(s.buchungsart AS character varying)=b.k AND b.element='ax_buchungsstelle' AND b.bezeichnung='buchungsart' 
    901 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;"; 
    902  
    903 $v = array($gmlid); 
    904 $ress = pg_prepare("", $sql); 
    905 $ress = pg_execute("", $v); 
    906 if (!$ress) { 
    907         echo "\n<p class='err'>Keine Buchungsstelle.</p>"; 
    908         if ($debug > 1) { 
    909                 echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>"; 
    910                 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    911         } 
    912 } 
    913 $bs=0; // Z.BuchungsStelle 
    914 while($rows = pg_fetch_array($ress)) {  // Schleife Buchungs-Stelle 
    915         $gmls=$rows["gml_id"]; // gml b-Stelle 
    916         $lfd=$rows["lfd"]; // BVNR 
    917         $barttitle=htmlentities($rows["barttitle"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
    918  
    919         // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon) 
    920         $sql="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wb.v AS blattartv, wb.d AS blattartd, z.bezeichnung  
    921         FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON b.gml_id=s.istbestandteilvon  
    922         LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
    923         LEFT JOIN alkis_wertearten wb ON cast(b.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart'  
    924         WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 
    925         ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 
    926  
    927         $v=array($gmls); 
    928         $resg=pg_prepare("", $sql); 
    929         $resg=pg_execute("", $v); 
    930         if (!$resg) { 
    931                 echo "\n<p class='err'>Kein Buchungsblatt.</p>"; 
    932                 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmls."'</p>";} 
    933         } 
    934         $bl=0; // Z.Blatt 
    935         while($rowg = pg_fetch_array($resg)) { 
    936                 $gmlg=$rowg["gml_id"]; 
    937                 $beznam=$rowg["bezeichnung"]; 
    938                 $blattkeyg=$rowg["blattart"]; // Key 
    939                 $blattartg=$rowg["blattartv"]; // Value 
    940                 $blatt=$rowg["blatt"]; 
    941                 echo "\n<hr>" 
    942                 ."\n<table class='outer'>" 
    943                 ."\n<tr>"; // 1 row only 
    944                         echo "\n\t<td>"; // Outer linke Spalte: 
    945  
    946                                 // Rahmen mit GB-Kennz 
    947                                 if ($blattkeyg == 1000) { 
    948                                         echo "\n\t\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
    949                                 }else { 
    950                                         echo "\n\t\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // GB fiktiv = Rahmen dotted 
    951                                 } 
    952                                         echo "\n\t\t<tr>\n\t\t\t<td class='head'>Bezirk</td>" 
    953                                                 ."\n\t\t\t<td class='head' title='".$rowg["blattartd"]."'>"; 
    954                                                 if ($showkey) {echo "<span class='key'>".$blattkeyg."</span>&nbsp;";} 
    955                                                 echo $blattartg."</td>" 
    956                                                 ."\n\t\t\t<td class='head'>Lfd-Nr.</td>" 
    957                                                 ."\n\t\t\t<td class='head'>Buchungsart</td>" 
    958                                         ."\n\t\t</tr>" 
    959                                         ."\n\t\t<tr>" 
    960                                                 ."\n\t\t\t<td title='Grundbuchbezirk'>"; 
    961                                                 if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span><br>";} 
    962                                                 echo $beznam."&nbsp;</td>" 
    963                                                 ."\n\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 
    964                                                 ."\n\t\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$lfd."</td>" 
    965                                                 ."\n\t\t\t<td title='".$barttitle."'>"; 
    966                                                 if ($showkey) {echo "<span class='key'>".$rows["buchungsart"]."</span><br>";} 
    967                                                 echo $rows["bart"]."</td>" 
    968                                         ."\n\t\t</tr>" 
    969                                 ."\n\t\t</table>"; 
    970  
    971                                 // Miteigentumsanteil 
    972                                 if ($rows["zaehler"] <> "") { 
    973                                         echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    974                                 } 
    975                         echo "\n\t</td>\n\t<td>"; // Outer rechte Spalte: NW-Links 
    976  
    977                                 echo "\n\t\t<p class='nwlink noprint'>weitere Auskunft:<br>"; 
    978                                         if ($showkey) {echo "<span class='key'>".$blattkeyg."</span> ";} 
    979                                         echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg; 
    980                                                 if ($showkey) {echo "&amp;showkey=j";} 
    981                                                 echo "#bvnr".$lfd; // Die # hinter die &-Paramter 
    982                                                 if ($blattkeyg == 1000) { 
    983                                                         echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>"; 
    984                                                 } else { 
    985                                                         echo "' title='Grundbuchnachweis'>"; 
    986                                                 } 
    987                                                 echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
    988                                         ."</a>" 
    989                                 ."\n\t\t</p>"; 
    990  
    991                                 // berechtigte Buchungstellen (im rechten Teil der Àußeren Tab. 
    992                                 $cnt_ber = ber_bs_hinw($gmls, $gmlid); // Hinweis ausgeben, zÀhlen 
    993  
    994                         echo "\n\t</td>" // ende aussen rechts 
    995                 ."\n</tr>" 
    996                 ."\n</table>"; 
    997  
    998                 // +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung 
    999                 if ($rows["sond"] != "") { 
    1000                         echo "\n<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>"; 
    1001                 } 
    1002                 if ($rows["nrpl"] != "") { 
    1003                         echo "\n<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>"; 
    1004                 } 
    1005  
    1006                 // E I G E N T U E M E R, zum GB 
    1007                 // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt 
    1008                 if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer 
    1009                         $n = eigentuemer($gmlg, false, ""); // hier ohne Adresse 
    1010                         if ($n == 0) { 
    1011                                 if ($blattkeyg == 1000) { 
    1012                                         echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 
    1013                                 } else { 
    1014                                         echo "\n<p>ohne Eigent&uuml;mer.</p>"; 
    1015                                 } 
    1016                         } 
    1017                 } 
    1018  
    1019                 // B e r e c h t i g t e   B u c h u n g e n  ... zu dieser Buchungs-Stelle. Optional. 
    1020                 if ($berbu=="j") { // Wahlweise anzeigen 
    1021                         echo "\n<hr>\n<h3 id='berbu'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Berechtigte Buchungen</h3>" 
    1022                         ."\n<p>".$cnt_ber." Buchungen mit Rechten an der Buchung ".$lfd." auf ".$blattartg." ".$blatt." von ".$beznam.":</p>"; 
    1023                         ber_bs_anz($gmls, $eig); // berechtigte Buchungstellen und GB-BlÀtter Anzeigen, und ggf. auch mit EigentÃŒmer 
    1024                 } 
    1025                 $bl++; // ZÀhl Blatt 
    1026         } 
    1027         if ($bl == 0) {echo "\n<p class='err'>Kein Buchungsblatt zur Buchungstelle gefunden.</p>";} 
    1028         $bs++; // ZÀhl Buchungs-Stelle 
    1029 } 
    1030  
    1031 pg_free_result($resg); 
    1032 if ($bs == 0) {echo "\n<p class='err'>Keine Buchungstelle zum Flurst&uuml;ck gefunden.</p>";} 
     669                        } 
     670                } // Ende Buchungs-Array in der Stufe 
     671                $anzber=count($verf_next); // Sammlung auf Stufe zÀhlen, Steuert die Schleife. 
     672                //if ($debug > 2) {echo "<p class='dbg'>Nach Stufe ".$stufe.", Anzahl: ". $anzber ."</p>";} 
     673        } // Ende Stufe 
     674// Diese aufwÀndige Analyse mit Arrays geht davon aus, dass es Verzweigungen auf oberen Stufen geben könnte, 
     675// so dass mehrere Zweige parallel weiter zu verfolgen sind. In der Praxis ist eine Verzweigung bisher nur in der letzten Stufe vorgekommen. 
     676// Eine weniger aufwÀndige Lösung (ohne Arrays) wÃŒrde reichen, wenn das immer so wÀre: 
     677/*  Alte Version (einfacher): 
     678        $gezeigt = buchung_anzg($gml_buchungsstelle, $eig, false, $gmlid); 
     679        $anzber = ber_bs_zaehl($gml_buchungsstelle); 
     680        if ($anzber > 0 ) { 
     681                $verfolg = ber_bs_anzg($gml_buchungsstelle, $eig, $gmlid); 
     682                while ($verfolg != "") { 
     683                        $valt=$verfolg; 
     684                        $verfolg = ber_bs_anzg($valt, $eig, $gmlid); 
     685                } 
     686        } */ 
     687echo "\n</table>\n\n"; 
     688 
    1033689pg_close($con); 
    1034690echo <<<END 
    1035  
    1036691<div class='buttonbereich noprint'> 
    1037692<hr> 
    1038693        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    1039694        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    1040         <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.png" width="32" height="16" alt="Export"></a>&nbsp; 
    1041 </div> 
    1042695END; 
    1043 footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig."&amp;berbu=".$berbu); 
     696echo "\n\t<a title='Export als CSV' href='javascript:ALKISexport(\"" . $gmlid . "\")'><img src='ico/download_fs.png' width='32' height='16' alt='Export'></a>&nbsp;\n</div>"; 
     697 
     698footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig); 
    1044699?> 
    1045700</body> 
  • trunk/info/info/alkisn/alkisgebaeudenw.php

    r389 r402  
    99        2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
    1010        2017-06-19 Tool-Tip GebÀudefunktion 
     11        2018-04-23 Kennzeichen eingerÃŒckt, &nodebug 
    1112*/ 
    1213session_start(); 
    13  
    14 $showkey="n"; // Var. aus Parameter initalisieren 
     14$showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 
    1515$cntget = extract($_GET); // Parameter in Variable umwandeln 
    1616 
     
    2020if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    2121if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     22if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    2223 
    2324require_once("alkis_conf_location.php"); 
    2425if ($auth == "mapbender") {require_once($mapbender);} 
    2526include("alkisfkt.php"); 
    26 ?> 
     27echo <<<END 
    2728<!doctype html> 
    2829<html lang="de"> 
     
    3536</head> 
    3637<body> 
    37 <?php 
     38END; 
     39// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
     40// Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
     41if ($nodebug == "j") {$debug=0;}  
     42 
    3843$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisgebaeudenw.php'"); 
    3944if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
    4045 
    4146// Flurstueck 
    42 $sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung  
     47$sqlf="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung  
    4348FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    4449WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 
     
    5055        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    5156} 
    52  
    53 if ($rowf = pg_fetch_array($resf)) { 
     57if ($rowf = pg_fetch_assoc($resf)) { 
    5458        $gemkname=htmlentities($rowf["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    5559        $gmkgnr=$rowf["gemarkungsnummer"]; 
     
    6468        echo "\n<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>"; 
    6569} 
    66  
    67 // Balken 
    68 echo "<p class='geb'>ALKIS Flurst&uuml;ck (Geb&auml;ude) ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>"; 
    69  
    70 echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck (Geb&auml;ude)</h2>"; 
    71  
    72 // Kennzeichen in Rahmen 
    73 echo "\n<table class='outer'>\n<tr>\n<td>" 
    74         ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>" 
    75     ."\n\t<tr>" 
    76         ."\n\t\t<td class='head'>Gmkg</td>" 
    77         ."\n\t\t<td class='head'>Flur</td>" 
    78         ."\n\t\t<td class='head'>Flurst-Nr.</td>" 
    79     ."\n\t</tr>\n\t<tr>" 
    80         ."\n\t\t<td title='Gemarkung'>"; 
    81         if  ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
    82         echo $gemkname."&nbsp;</td>" 
    83         ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    84         ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>" 
    85     ."\n\t</tr>" 
    86         ."\n\t</table>" 
    87 ."\n</td>\n<td>"; 
    88  
    89 // Links zu anderem Nachweis 
    90 echo "\n\t<p class='nwlink noprint'>" 
    91         ."\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    92         if ($showkey) {echo "&amp;showkey=j";} 
    93         echo "&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
    94 ."\n\t</p>" 
    95 ."\n\t</td>\n</tr>\n</table>"; 
    96 // Ende Seitenkopf 
     70echo "<p class='geb'>ALKIS Flurst&uuml;ck (Geb&auml;ude) ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>"; // Balken 
     71echo "\n<h2>Flurst&uuml;ck (Geb&auml;ude)</h2>"; 
     72echo "\n<table class='outer'>" // Kopf 
     73        ."\n<tr>" 
     74                ."\n\t<td>" 
     75                ."\n\t<td class='ll'><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Kennzeichen:</td>" 
     76                ."\n\t<td>" 
     77                        ."\n\t\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>" // Kennzeichen in Rahmen 
     78                                ."\n\t\t<tr>" 
     79                                        ."\n\t\t\t<td class='head'>Gemarkung</td>" 
     80                                        ."\n\t\t\t<td class='head'>Flur</td>" 
     81                                        ."\n\t\t\t<td class='head'>Flurst-Nr.</td>" 
     82                                ."\n\t\t</tr>\n\t\t<tr>" 
     83                                        ."\n\t\t\t<td title='Gemarkung'>"; 
     84                                        if  ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 
     85                                        echo $gemkname."&nbsp;</td>" 
     86                                        ."\n\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
     87                                        ."\n\t\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>" 
     88                                ."\n\t\t</tr>" 
     89                        ."\n\t\t</table>" 
     90                ."\n\t</td>" 
     91                ."\n\t<td>" 
     92                        ."\n\t\t<p class='nwlink noprint'>" // Links zu anderem Nachweis 
     93                                ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     94                                if ($showkey) {echo "&amp;showkey=j";} 
     95                                echo "&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
     96                        ."\n\t\t</p>" 
     97                ."\n\t</td>" 
     98        ."\n</tr>" 
     99."\n</table>"; 
    97100 
    98101echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".number_format($flstflaeche,0,",",".") . " m&#178;</b></p>"; 
     
    129132$gebflsum=0; 
    130133echo "\n<hr>\n<table class='geb'>"; 
    131         // T-Header 
    132         echo "\n<tr>\n" 
     134        echo "\n<tr>" // T-Header 
    133135                ."\n\t<td class='head' title='ggf. Geb&auml;udename'>Name</td>" 
    134136                ."\n\t<td class='heads fla' title='Schnittfl&auml;che zwischen Flurst&uuml;ck und Geb&auml;ude'><img src='ico/sortd.png' width='10' height='10' alt='' title='Sortierung (absteigend)'>Fl&auml;che</td>" 
     
    140142                ."\n\t<td class='head nwlink' title='Link zu den kompletten Hausdaten'>Haus</td>" 
    141143        ."\n</tr>"; 
    142         // T-Body 
    143         while($rowg = pg_fetch_array($resg)) { 
     144        while($rowg = pg_fetch_assoc($resg)) { // T-Body 
    144145                $gebnr = $gebnr + 1; 
    145146                $ggml=$rowg["gml_id"]; 
    146147                $gebflsum=$gebflsum + $rowg["schnittflae"]; 
    147                 $gnam= trim(trim($rowg["name"], "{}"), '"'); // Gebaeude-Name ist ein Array in der DB: '{"A","B"}' 
    148                 // Mehrfachbelegung nur theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum !? 
     148                $gnam=trim(trim($rowg["name"], "{}"), '"'); // Gebaeude-Name ist ein Array in der DB: '{"A","B"}' 
     149                // Mehrfachbelegung nur theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum!? 
    149150                /* SELECT name FROM ax_gebaeude WHERE NOT name IS NULL AND array_length(name, 1) > 1; */ 
    150151                $gfktk=htmlentities($rowg["gebaeudefunktion"], ENT_QUOTES, "UTF-8");  // Geb.-Funktion Key 
     
    174175                        ."\n\t<td class='".$gstyle."'>"; // Sp. 1 Name 
    175176                        if ($gnam != "") {echo "<span title='Geb&auml;udename'>".$gnam."</span><br>";} 
    176                         echo "\n\t</td>"; 
     177                        echo "</td>"; 
    177178 
    178179                        echo "\n\t<td class='fla'>".$f1."</td>" // Sp. 2 
     
    191192                        echo $gzustand."&nbsp;</td>"; 
    192193 
    193                         echo "\n\t<td class='nwlink noprint'>"; 
    194                         // 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer, alle in ein TD zu EINEM GebÀude 
    195  
     194                        // 2 Spalten mit Links zu anderen Nachweisen: 1. Lage, 2. GebÀude 
     195                        echo "\n\t<td class='nwlink noprint'>"; // Link Lage 
     196 
     197                        // Zu EINEM GebÀude mehrere Lagebezeichnungen mit Haus- oder Pseudo-Nummer möglich, alle in ein TD  
    196198                        // HAUPTgebÀude  Geb >zeigtAuf> lage (mehrere) 
    197199                        $sqll="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer " 
     
    200202                        ."WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; 
    201203 
    202                         // oder NEBENgebÀude  Geb >hat> Pseudo 
     204                        // UNION - oder NEBENgebÀude  Geb >hat> Pseudo 
    203205                        $sqll.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer " 
    204206                        ."FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat " 
     
    207209                 
    208210                        $sqll.="ORDER BY bezeichnung, hausnummer;"; 
    209  
    210211                        $v = array($ggml); 
    211212                        $resl = pg_prepare("", $sqll); 
     
    215216                                if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    216217                        } 
    217                         while($rowl = pg_fetch_array($resl)) { // LOOP: Lagezeilen 
     218                        while($rowl = pg_fetch_assoc($resl)) { // LOOP: Lagezeilen 
    218219                                $ltyp=$rowl["ltyp"]; // Lagezeilen-Typ 
    219220                                $skey=$rowl["lage"]; // Str.-Schluessel 
     
    229230                                        $lagetxt=$snam."&nbsp;".$hsnr; 
    230231                                } 
    231                                 echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;"; 
    232                                 if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}                       
    233232                                echo "\n\t\t<a title='".$lagetitl."' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
    234                                         if ($showkey)   {echo "&amp;showkey=j";} 
    235                                 echo "'>".$lagetxt."</a>"; 
    236                                 echo "<br>"; 
     233                                        if ($showkey) {echo "&amp;showkey=j";} 
     234                                        echo "'>"; 
     235                                        if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";} 
     236                                echo $lagetxt."&nbsp;<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a><br>"; 
    237237                        } // Ende Loop Lage m.H. 
    238238            pg_free_result($resl); 
    239239                        echo "\n\t</td>"; 
    240240 
    241                         echo "\n\t<td class='nwlink noprint'>" 
     241                        echo "\n\t<td class='nwlink noprint'>" // Link Haus 
    242242                                ."\n\t\t<a title='Daten zum Geb&auml;ude-Objekt' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml; 
    243243                                if ($showkey) {echo "&amp;showkey=j";} 
    244                                 echo "'><img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
     244                                echo "'>Haus&nbsp;<img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
    245245                        ."\n\t</td>" 
    246246                ."\n</tr>"; 
    247         } 
     247        } // Ende GebÀude 
     248 
    248249        // Footer 
    249250        if ($gebnr == 0) { 
     
    258259        ."\n</table>"; 
    259260        $unbebaut = number_format(($flstflaeche - $gebflsum),0,",",".") . " m&#178;"; 
    260         echo "\n<p><br>Flurst&uuml;cksfl&auml;che abz&uuml;glich Geb&auml;udefl&auml;che: <b>".$unbebaut."</b></p><br>"; 
     261        echo "\n<p>\n<br>Flurst&uuml;cksfl&auml;che abz&uuml;glich Geb&auml;udefl&auml;che: <b>".$unbebaut."</b></p>\n<br>"; 
    261262} 
    262263pg_free_result($resg); 
    263264?> 
    264  
     265  
    265266<div class='buttonbereich noprint'> 
    266 <hr> 
     267        <hr> 
    267268        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    268269        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a> 
  • trunk/info/info/alkisn/alkishaus.php

    r389 r402  
    1010        2017-06-09 Tool-Tip GebÀudefunktion, ErklÀrung 2 getrennte p.Styles 
    1111        2017-10-09 Sauber filtern auf endet IS NULL 
     12        2018-04-23 &nodebug 
    1213 
    1314        ToDo: 
     
    2223*/ 
    2324session_start(); 
    24  
    25 $allfld = "n"; $showkey="n"; // Var. aus Parameter initalisieren 
     25$allfld = "n"; $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 
    2626$cntget = extract($_GET); // Parameter in Variable umwandeln 
    2727 
     
    3131if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    3232if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
    33  
    3433if (!preg_match('#^[j|n]{0,1}$#', $allfld)) {die ("Eingabefehler allfld");} 
    3534if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} 
     35if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    3636 
    3737require_once("alkis_conf_location.php"); 
    3838if ($auth == "mapbender") {require_once($mapbender);} 
    3939include("alkisfkt.php"); 
    40 ?> 
     40echo <<<END 
    4141<!doctype html> 
    4242<html lang="de"> 
     
    5050</head> 
    5151<body> 
    52 <?php 
     52END; 
     53// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
     54// Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
     55if ($nodebug == "j") {$debug=0;}  
    5356 
    5457$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); 
     
    98101$gebnr = 0; 
    99102 
    100 while($rowg = pg_fetch_array($resg)) { // Schleife, kann aber nur EIN Haus sein. 
     103while($rowg = pg_fetch_assoc($resg)) { // Schleife, kann aber nur EIN Haus sein. 
    101104        $gebnr++; 
    102105        echo "\n<table class='geb'>" 
     
    183186        } 
    184187        $zhsnr=0; 
    185         while($rowl = pg_fetch_array($resl)) { // LOOP: Lagezeilen 
     188        while($rowl = pg_fetch_assoc($resl)) { // LOOP: Lagezeilen 
    186189                $zhsnr++; 
    187190                $ltyp=$rowl["ltyp"]; // Lagezeilen-Typ 
     
    329332                                } 
    330333                                $zw=0; 
    331                                 while($roww = pg_fetch_array($resw)) { // LOOP: w.Funktion 
     334                                while($roww = pg_fetch_assoc($resw)) { // LOOP: w.Funktion 
    332335                                        if ($zw > 0) {echo "<br>";} 
    333336                                        if ($showkey) {echo "<span class='key'>".$roww["k"]."</span>&nbsp;";} 
  • trunk/info/info/alkisn/alkisinlayausk.php

    r398 r402  
    1616        2017-10-09 Sauber filtern auf endet IS NULL 
    1717        2017-12-20 Fehlerkorrektur: Link Straße ohne gml_id, Bessere Title fÃŒr Links, Icon an Lage. 
     18        2018-04-23 FÃŒr GB-Teil Function benutzen. 
    1819*/ 
    1920session_start(); 
    20  
    2121$cntget = extract($_GET); // Parameter in Variable umwandeln 
    2222 
     
    3838        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
    3939        <title>ALKIS-Auskunft</title> 
    40         <script type="text/javascript"> 
    41         function imFenster(dieURL) { 
    42                 var link = encodeURI(dieURL); 
    43                 window.open(link,'','left=10,top=10,width=680,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes'); 
    44         } 
     40        <script> 
     41                function imFenster(dieURL) { 
     42                        var link = encodeURI(dieURL); 
     43                        window.open(link,'','left=10,top=10,width=750,height=840,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes'); 
     44                } 
    4545        </script> 
    4646</head> 
     
    5151 
    5252// *** F L U R S T U E C K *** 
    53 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde 
     53$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde, f.istgebucht 
    5454FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    55 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL ;"; 
    56 // Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" 
     55WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 
    5756$v = array($gmlid); 
    5857$res = pg_prepare("", $sql); 
     
    6362} 
    6463 
    65 if ($row = pg_fetch_array($res)) { 
     64if ($row = pg_fetch_assoc($res)) { 
    6665        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 
    6766        $gmkgnr=$row["gemarkungsnummer"]; 
     
    7574        $fskrs=$row["kreis"]; 
    7675        $fsgem=$row["gemeinde"]; 
     76        $gml_buchungsstelle=$row["istgebucht"]; 
    7777} else { 
    7878        echo "\n<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; 
     
    9393} 
    9494 
    95 echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>"; 
    96  
    97 echo "\n<table class='outer'>\n<tr>\n<td>" 
    98         ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" 
    99         ."\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>" 
    100         ."\n\t<tr>\n\t\t<td title='Gemarkung'>".$gemkname."</td>" 
    101         ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
    102         ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
    103         ."\n\t</table>" 
    104 ."\n</td>\n<td>" 
    105 ."\n\t<p class='nwlink'>weitere Auskunft:<br>"; 
    106  
     95//echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>"; 
     96echo "\n<table class='outer'>" 
     97."\n\t<tr>" 
     98        ."\n\t\t<td class='ll'><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Kennzeichen:</td>" 
     99                ."\n\t\t<td>" 
     100                ."\n\t\t\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t\t\t\t<tr>" 
     101                        ."\n\t\t\t\t\t<td class='head'>Gmkg</td>\n\t\t\t\t\t<td class='head'>Flur</td>\n\t\t\t\t\t<td class='head'>Flurst-Nr.</td>\n\t\t\t\t</tr>" 
     102                        ."\n\t\t\t\t<tr>\n\t\t\t\t\t<td title='Gemarkung'>".$gemkname."</td>" 
     103                        ."\n\t\t\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
     104                        ."\n\t\t\t\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t\t\t\t</tr>" 
     105                ."\n\t\t\t</table>" 
     106        ."\n\t\t</td>\n\t\t<td>" 
     107        ."\n\t\t\t<p class='nwlink'>weitere Auskunft:<br>"; 
    107108// FlurstÃŒcksnachweis (mit EigentÃŒmer) 
    108 echo "\n\t\t<a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j\")' " 
     109echo "\n\t\t\t\t<a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j\")' " 
    109110        ."title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck&nbsp;" 
    110111        ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 
    111112."</a><br>"; 
    112  
    113113// FS-Historie 
    114 echo "\n\t\t<a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' " 
     114echo "\n\t\t\t\t<a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' " 
    115115        ."title='Vorg&auml;nger des Flurst&uuml;cks'>Historie&nbsp;" 
    116116        ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
    117117."</a><br>"; 
    118  
    119118// Gebaeude-NW zum FS 
    120 echo "\n\t\t<a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' " 
     119echo "\n\t\t\t\t<a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' " 
    121120        ."title='Geb&auml;udenachweis'>Geb&auml;ude&nbsp;" 
    122121        ."<img src='ico/Haus.png' width='16' height='16' alt=''>" 
    123122."</a>"; 
    124  
    125 echo "\n\t</p>\n</td>"; 
     123echo "\n\t\t\t</p>\n\t\t</td>\n\t</tr>"; 
    126124pg_free_result($res); 
    127125 
     
    132130WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL  
    133131ORDER BY s.bezeichnung, l.hausnummer;"; 
    134  
    135132$v=array($gmlid); // id FS 
    136133$res=pg_prepare("", $sql); 
     
    142139$j=0; 
    143140$kgmlalt=''; 
    144 while($row = pg_fetch_array($res)) { 
     141while($row = pg_fetch_assoc($res)) { 
    145142        $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
    146143        if (substr($sname, strlen($sname) -3, 3) == 'weg') { // Versuch fuer korrekten Satzbau 
     
    150147        } 
    151148        $hsnr=$row["hausnummer"]; 
    152  
    153         // linke Spalte 
    154         echo "\n<tr>\n\t\n\t<td class='lr'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='MIT'>&nbsp;".$sname."&nbsp;".$hsnr."</td>"; 
    155  
    156         // rechte Spalte 
    157         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     149        echo "\n\t<tr>" 
     150                ."\n\t\t<td class='ll'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='MIT'> Lage:</td>" 
     151                ."\n\t\t<td class='lr'>".$sname."&nbsp;".$hsnr."</td>" 
     152                ."\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>"; 
    158153        $kgml=$row["kgml"]; // Wiederholung vermeiden 
    159  
    160154        if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage 
    161155                $kgmlalt=$kgml; // Katalog GML-ID 
    162                 echo "\n\t\t\t<a title='Flurst&uuml;cke mit oder ohne Hausnummer".$slink."' " 
     156                echo "\n\t\t\t\t<a title='Flurst&uuml;cke mit oder ohne Hausnummer".$slink."' " 
    163157                ."href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$kgml."\")'>Stra&szlig;e " 
    164158                ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 
    165159        } 
    166         echo "\n\t\t\t<a title='Flurst&uuml;cke und Geb&auml;ude mit Hausnummer ".$hsnr."' " 
     160        echo "\n\t\t\t\t<a title='Flurst&uuml;cke und Geb&auml;ude mit Hausnummer ".$hsnr."' " 
    167161                ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."\")'>Lage " 
    168162                ."<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'></a>&nbsp;" 
    169         ."\n\t\t</p>\n\t</td>\n</tr>"; 
     163        ."\n\t\t\t</p>\n\t\t</td>\n\t</tr>"; 
    170164        $j++; 
    171165} 
     
    177171        ."LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 
    178172        ."WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY s.bezeichnung;"; 
    179  
    180173$v=array($gmlid); 
    181174$res=pg_prepare("", $sql); 
     
    186179} 
    187180$kgmlalt=''; 
    188 while($row = pg_fetch_array($res)) { 
     181while($row = pg_fetch_assoc($res)) { 
    189182        $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 
    190183 
     
    195188        } 
    196189 
    197  
    198190        $gewann=htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 
    199         echo "\n<tr>"; 
    200  
    201         // linke Spalte 
     191        echo "\n\t<tr>"; 
    202192        if ($sname != "") { // Typ=Strasse 
    203193                $ico="Lage_an_Strasse.png"; 
    204                 echo "\n\t<td class='lr' title='An Stra&szlig;e aber ohne Hausnummer'><img src='ico/".$ico."' width='16' height='16' alt='OHNE'> ".$sname."&nbsp;</td>"; 
     194                echo "\n\t\t<td class='ll'><img src='ico/".$ico."' width='16' height='16' alt='OHNE'> Stra&szlig;e:</td>"; 
     195                echo "\n\t\t<td class='lr' title='An Stra&szlig;e aber ohne Hausnummer'>".$sname."&nbsp;</td>"; 
    205196        } else { 
    206197                $ico="Lage_Gewanne.png"; 
    207                 echo "\n\t<td class='lr' title='Gewanne'><img src='ico/".$ico."' width='16' height='16' alt='Gewanne'> ".$gewann."&nbsp;</td>"; 
    208         } 
    209  
    210         // rechte Spalte 
    211         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
     198                echo "\n\t\t<td class='ll'><img src='ico/".$ico."' width='16' height='16' alt='Gewanne'> Gewanne:</td>"; 
     199                echo "\n\t\t<td class='lr' title='Gewanne'>".$gewann."&nbsp;</td>"; 
     200        } 
     201        echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>"; 
    212202        if ($sname != "") { // Typ=Strasse 
    213203                $kgml=$row["kgml"]; // Wiederholung vermeiden 
     
    226216                ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$row["gml_id"]."\")'>Gewanne " 
    227217                ."<img src='ico/".$ico."' width='16' height='16' alt='Gewanne'></a>&nbsp;" 
    228                 ."\n\t\t</p>\n\t</td>\n</tr>"; 
     218                ."\n\t\t</p>\n\t\t</td>\n\t</tr>"; 
    229219        } 
    230220} 
    231221pg_free_result($res); 
    232  
    233 echo "\n</table>"; 
    234  
    235 // Flurstuecksflaeche 
     222echo "\n</table>\n"; 
    236223echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>"; 
    237224 
    238 // *** G R U N D B U C H *** 
    239 echo "\n<h2><img src='ico/Grundbuch_zu.png' width='16' height='16' alt='GB'> Grundbuch</h2>"; 
    240  
    241 // FS >istgebucht> GS >istbestandteilvon> GB. 
    242 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart,  
    243 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, wa.v AS blattartv, wb.v AS bart  
    244 FROM ax_flurstueck f  
    245 JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id  
    246 JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id 
    247 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
    248 LEFT JOIN alkis_wertearten wa ON cast(b.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart' 
    249 LEFT JOIN alkis_wertearten wb ON cast(s.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 
    250 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL  
    251 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
    252  
    253 $v=array($gmlid); 
    254 $resg=pg_prepare("", $sql); 
    255 $resg=pg_execute("", $v); 
    256 if (!$resg) { 
    257         echo "\n<p class='err'>Keine Buchungen.</p>"; 
    258         if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    259 } 
    260 while($rowg = pg_fetch_array($resg)) { 
    261         $beznam=$rowg["bezeichnung"]; 
    262         echo "\n<table class='outer'>\n<tr>\n<td>"; 
    263                 $blattkey=$rowg["blattart"]; // Key 
    264                 $blattart=$rowg["blattartv"]; // Value 
    265  
    266                 if ($blattkey == 1000) { 
    267                         echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
     225// B U C H U N G S S T E L L E N  zum FS 
     226$bartgrp="";    // Buchungsart 
     227$barttypgrp=""; // Buchungsart Typ 
     228if ($gml_buchungsstelle == '') {echo "\n<p class='err'>Keine Buchungstelle zum Flurst&uuml;ck gefunden.</p>";} 
     229echo "\n\n<table class='outer'>"; 
     230        $gezeigt = buchung_anzg($gml_buchungsstelle, 'j', true, ""); // direkte Buchung anzeigen wenn nicht fiktiv, Eigent. ja, mit JS "imFenster" 
     231        $anzber = ber_bs_zaehl($gml_buchungsstelle); // Berechtigte Buchungen, nur Anzahl 
     232        if ($anzber > 0 ) { 
     233                if ($gezeigt) { 
     234                        echo "\n\t<tr>\n\t\t<td colspan='4'><span class='wichtig'>Berechtigte Buchungen siehe Flurst&uuml;cksnachweis.</span></td>\n\t</tr>"; 
    268235                } else { 
    269                         echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    270                 } 
    271                         echo "\n\t<tr>" 
    272                                 ."\n\t\t<td class='head'>Bezirk</td>" 
    273                                 ."\n\t\t<td class='head'>".$blattart."</td>" 
    274                                 ."\n\t\t<td class='head'>Lfd-Nr,</td>" 
    275                                 ."\n\t\t<td class='head'>Buchungsart</td>" 
    276                         ."\n\t</tr>\n\t<tr>" 
    277                                 ."\n\t\t<td title='Grundbuchbezirk'>".$beznam."</td>" 
    278                                 ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>" 
    279                                 ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>" 
    280                                 ."\n\t\t<td title='Buchungsart'>".$rowg["bart"]."</td>" 
    281                         ."\n\t</tr>" 
    282                 ."\n\t</table>"; 
    283  
    284                 if ($rowg["zaehler"] <> "") { 
    285                         echo "\n<p class='ant'>".$rowg["zaehler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    286                 } 
    287                 echo "\n</td>\n<td>" 
    288                 ."\n\t<p class='nwlink'>weitere Auskunft:<br>" 
    289                         ."\n\t\t<a href='javascript:imFenster(\"alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."\")' " 
    290                                 ."title='Grundbuchnachweis'>".$blattart." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
    291                         ."</a>" 
    292                 ."\n\t</p>" 
    293         ."\n</td>\n</tr>\n</table>"; 
    294  
    295         // E I G E N T U E M E R 
    296         if ($blattkey == 5000) { // kein Eigent. bei fiktiv. Blatt 
    297                 echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n" 
    298                 ."\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>"; 
    299         } else { // Ausgabe Name in Function 
    300                 $n = eigentuemer($rowg["gml_id"], false, "imFenster"); // ohne Adressen 
    301                 if ($n == 0) { // keine NamensNr, kein Eigentuemer 
    302                         echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>" 
    303                         ."\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; 
    304                 } 
    305         } 
    306 } 
    307 pg_free_result($resg); 
     236                        $nochmehr = ber_bs_anzg($gml_buchungsstelle, "j", ""); // wenigstens eine Buchg. zeigen 
     237                        if ($nochmehr != "") { // keine Verfolgung 
     238                                echo "\n\t<tr>\n\t\t<td colspan='4'><span class='wichtig'>Weitere berechtigte Buchungen siehe Flurst&uuml;cksnachweis.</span></td>\n\t</tr>"; 
     239                        } 
     240                }  
     241        } 
     242echo "\n</table>\n"; 
    308243 
    309244?> 
  • trunk/info/info/alkisn/alkisinlaybaurecht.php

    r389 r402  
    1111*/ 
    1212session_start(); 
    13   
    1413$cntget = extract($_GET); // Parameter in Variable umwandeln 
    15  
    1614// strikte Validierung aller Parameter 
    1715if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     
    2018require_once("alkis_conf_location.php"); 
    2119if ($auth == "mapbender") {require_once($mapbender);} 
    22 ?> 
     20echo <<<END 
    2321<!doctype html> 
    2422<html lang="de"> 
     
    3533        } 
    3634        </script> 
    37         </script> 
    3835</head> 
    3936<body> 
    40  
    41 <?php 
     37END; 
    4238$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisinlaybaurecht.php'"); 
    4339if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
     
    6056echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>"; 
    6157 
    62 if ($row = pg_fetch_array($res)) { 
     58if ($row = pg_fetch_assoc($res)) { 
    6359        echo "\n<table>" 
    6460                ."\n<tr>" 
  • trunk/info/info/alkisn/alkislage.php

    r389 r402  
    1111        2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen 
    1212        2017-10-09 Sauber filtern auf endet IS NULL 
     13        2018-04-23 &nodebug 
    1314 
    1415        ToDo: 
     
    1920*/ 
    2021session_start(); 
    21  
    22 $showkey="n"; // Var. aus Parameter initalisieren 
     22$showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 
    2323$cntget = extract($_GET); // Parameter in Variable umwandeln 
    2424 
     
    2929if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
    3030if (!preg_match('#^[m|p|o]{1}$#', $ltyp)) {die ("Eingabefehler ltyp");} 
     31if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    3132 
    3233require_once("alkis_conf_location.php"); 
     
    4546                $tnam = "ax_lagebezeichnungmithausnummer"; break; 
    4647} 
    47 ?> 
     48echo <<<END 
    4849<!doctype html> 
    4950<html lang="de"> 
     
    5657</head> 
    5758<body> 
    58 <?php 
     59END; 
     60// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
     61// Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
     62if ($nodebug == "j") {$debug=0;}  
     63 
    5964$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkislage.php'"); 
    6065if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
     
    9196} 
    9297 
    93 if ($row = pg_fetch_array($res)) { 
     98if ($row = pg_fetch_assoc($res)) { 
    9499        $strgml=$row["strgml"]; // gml_id des Katalogeintrag Straße 
    95100        $land =$row["land"]; 
     
    147152} 
    148153 
    149 echo "\n<h2><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'> Lagebezeichnung</h2>\n" 
    150 ."<p>Typ: ".$untertitel."</p>"; 
    151  
     154echo "\n<h2>Lagebezeichnung</h2>\n<p>Typ: ".$untertitel."</p>"; 
    152155echo "\n<table class='outer'>\n<tr>\n\t<td>";   // Tab. Kennz. 
    153         // ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind 
     156        // ToDo: kleiner, wenn ltyp=0 und die Schluesselfelder leer sind 
    154157        echo "\n\t\t<table class='kennzla' title='Lage'>" 
    155158                ."\n\t\t<tr>"; 
     
    269272        $j=0; 
    270273        $zpaar=false; 
    271         while($rowf = pg_fetch_array($resf)) { 
     274        while($rowf = pg_fetch_assoc($resf)) { 
    272275                $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 
    273276                $fskenn=$rowf["zaehler"]; // Bruchnummer 
     
    323326                        } 
    324327                        $neb=0; 
    325                         while($row = pg_fetch_array($res)) { 
     328                        while($row = pg_fetch_assoc($res)) { 
    326329                                echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;"; 
    327330                                $neb++; 
     
    341344                        if (!$res) {echo "\n<p class='err'>Fehler bei Hauptgeb&auml;ude.<br>".$sql."</p>";} 
    342345                        $hg=0; 
    343                         while($row = pg_fetch_array($res)) { 
     346                        while($row = pg_fetch_assoc($res)) { 
    344347                                echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=m'>Haus-Nr ".$pseu."</a>&nbsp;&nbsp;"; 
    345348                                $hg++; 
     
    359362                        } 
    360363                        $neb=0; 
    361                         while($row = pg_fetch_array($res)) { 
     364                        while($row = pg_fetch_assoc($res)) { 
    362365                                echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;"; 
    363366                                $neb++; 
     
    404407        ."\n</tr>"; 
    405408        $i=0; 
    406         while($row = pg_fetch_array($res)) { 
     409        while($row = pg_fetch_assoc($res)) { 
    407410                $ggml=$row["gml_id"]; 
    408411                $gfla=$row["flaeche"]; 
  • trunk/info/info/alkisn/alkisnamstruk.php

    r398 r402  
    1212        2017-10-17 Deutsches Datumsformat im Geburtsdatum 
    1313        2017-12-20 Anlass und Datum zur Adresse ausgeben, wenn es mehrere gibt oder SchlÃŒssel angefordert werden 
     14        2018-04-23 &nodebug 
    1415*/ 
    1516session_start(); 
    16  
    17 $multiadress="n"; $showkey="n"; // Var. aus Parameter initalisieren 
     17$multiadress="n"; $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 
    1818$cntget = extract($_GET); // Parameter in Variable umwandeln 
    1919 
     
    2424if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
    2525if (!preg_match('#^[j|n]{0,1}$#', $multiadress)) {die ("Eingabefehler multiadress");} 
     26if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    2627 
    2728require_once("alkis_conf_location.php"); 
     
    4748 
    4849<?php 
    49  
    50 // Balken 
    51 echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n" 
     50// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
     51// Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
     52if ($nodebug == "j") {$debug=0;}  
     53 
     54echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n" // Balken 
    5255."\n<h2><img src='ico/Eigentuemer.png' width='16' height='16' alt=''> Person</h2>"; 
    5356$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisnamstruk.php'"); 
     
    6669        if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    6770} 
    68 if ($row = pg_fetch_array($res)) { 
     71if ($row = pg_fetch_assoc($res)) { 
    6972        $vor=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8"); 
    7073        $nam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8"); 
     
    108111        $j=0; 
    109112        // Parameter $multiadress = j zeigt ALLE Adressen an 
    110         while($rowa = pg_fetch_array($resa)) { 
     113        while($rowa = pg_fetch_assoc($resa)) { 
    111114                $j++; 
    112115                if ($multiadress == "j" OR $j == 1) { 
     
    196199        $i=0; 
    197200        $zpaar=false; 
    198         while($rowg = pg_fetch_array($resg)) { 
     201        while($rowg = pg_fetch_assoc($resg)) { 
    199202                $gmln=$rowg["gml_n"]; 
    200203                $gmlg=$rowg["gml_g"]; 
  • trunk/info/info/alkisn/alkisstrasse.php

    r389 r402  
    1212        2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen 
    1313        2017-10-09 Sauber filtern auf endet IS NULL 
     14        2018-04-23 &nodebug 
    1415*/ 
    1516session_start(); 
    16  
    17 $showkey="n"; // Var. aus Parameter initalisieren 
     17$showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 
    1818$cntget = extract($_GET); // Parameter in Variable umwandeln 
    1919 
     
    2323if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    2424if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     25if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    2526 
    2627require_once("alkis_conf_location.php"); 
     
    4546<body> 
    4647<?php 
     48// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
     49// Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
     50if ($nodebug == "j") {$debug=0;}  
     51 
    4752$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisstrasse.php'"); 
    4853if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 
     
    6570        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    6671} 
    67 if ($row = pg_fetch_array($res)) { 
     72if ($row = pg_fetch_assoc($res)) { 
    6873        $lage=$row["lage"]; // Strassenschluessel 
    6974        $snam=$row["snam"]; // Strassenname 
    7075        $gem=$row["gemeinde"]; 
    71         // Balken 
    7276        $kennz=$gem."-".$lage." (".$snam.")"; // Schluessel als Sucheingabe in NAV brauchbar? 
    73         echo "\n<p class='strasse'>ALKIS Stra&szlig;e ".$kennz."&nbsp;</p>"; 
     77        echo "\n<p class='strasse'>ALKIS Stra&szlig;e ".$kennz."&nbsp;</p>"; // Balken 
    7478} else { 
    7579        echo "\n<p class='err'>Kein Treffer bei Lagebezeichnungskatalogeintrag.</p>"; 
    7680} 
    7781 
    78 echo "\n<h2><img src='ico/Strassen.png' width='16' height='16' alt=''> Stra&szlig;e</h2>"; 
     82echo "\n<h2>Stra&szlig;e</h2>"; 
    7983 
    8084// Tabelle Kennzeichen 
    81 echo "\n<table class='outer'>\n<tr>\n\t<td>" 
    82 ."\n\t<table class='kennzstra' title='Lage'>" 
    83         ."\n\t<tr>" 
    84                 ."\n\t\t<td class='head'>Land</td>" 
    85                 ."\n\t\t<td class='head'>Reg.-Bez.</td>" 
    86                 ."\n\t\t<td class='head'>Kreis</td>" 
    87                 ."\n\t\t<td class='head'>Gemeinde</td>" 
    88                 ."\n\t\t<td class='head'>Stra&szlig;e</td>" 
    89         ."\n\t</tr>" 
    90         ."\n\t<tr>"; 
    91                 echo "\n\t\t<td title='Bundesland'>"; 
    92                 if ($showkey) {echo "<span class='key'>".$row["land"]."</span><br>";} 
    93                 echo $row["bnam"]."&nbsp;</td>" 
    94                 ."\n\t\t<td title='Regierungsbezirk'>"; 
    95                 if ($showkey) {echo "<span class='key'>".$row["regierungsbezirk"]."</span><br>";} 
    96                 echo $row["rnam"]."&nbsp;</td>" 
    97                 ."\n\t\t<td title='Kreis'>"; 
    98                 if ($showkey) {echo "<span class='key'>".$row["kreis"]."</span><br>";} 
    99                 echo $row["knam"]."&nbsp;</td>" 
    100                 ."\n\t\t<td title='Gemeinde'>"; 
    101                 if ($showkey) {echo "<span class='key'>".$gem."</span><br>";} 
    102                 echo $row["gnam"]."&nbsp;</td>" 
    103                 . "\n\t\t<td title='Stra&szlig;e'>"; 
    104                 if ($showkey) {echo "<span class='key'>".$lage."</span><br>";} 
    105                 echo "<span class='wichtig'>".$snam."</span>" 
    106                 . "&nbsp;</td>" 
    107         ."\n\t</tr>" 
    108 ."\n\t</table>"; 
    109  
     85echo "\n<table class='outer'>\n<tr>" 
     86."\n\t<td class='ll'><img src='ico/Strassen.png' width='16' height='16' alt=''> Stra&szligenname:</td>" 
     87."\n\t<td>" 
     88        ."\n\t\t<table class='kennzstra' title='Lage'>" 
     89                ."\n\t\t<tr>" 
     90                        ."\n\t\t\t<td class='head'>Land</td>" 
     91                        ."\n\t\t\t<td class='head'>Reg.-Bez.</td>" 
     92                        ."\n\t\t\t<td class='head'>Kreis</td>" 
     93                        ."\n\t\t\t<td class='head'>Gemeinde</td>" 
     94                        ."\n\t\t<td class='head'>Stra&szlig;e</td>" 
     95                ."\n\t\t</tr>" 
     96                ."\n\t\t<tr>"; 
     97                        echo "\n\t\t\t<td title='Bundesland'>"; 
     98                        if ($showkey) {echo "<span class='key'>".$row["land"]."</span><br>";} 
     99                        echo $row["bnam"]."&nbsp;</td>" 
     100                        ."\n\t\t\t<td title='Regierungsbezirk'>"; 
     101                        if ($showkey) {echo "<span class='key'>".$row["regierungsbezirk"]."</span><br>";} 
     102                        echo $row["rnam"]."&nbsp;</td>" 
     103                        ."\n\t\t\t<td title='Kreis'>"; 
     104                        if ($showkey) {echo "<span class='key'>".$row["kreis"]."</span><br>";} 
     105                        echo $row["knam"]."&nbsp;</td>" 
     106                        ."\n\t\t\t<td title='Gemeinde'>"; 
     107                        if ($showkey) {echo "<span class='key'>".$gem."</span><br>";} 
     108                        echo $row["gnam"]."&nbsp;</td>" 
     109                        . "\n\t\t\t<td title='Stra&szlig;e'>"; 
     110                        if ($showkey) {echo "<span class='key'>".$lage."</span><br>";} 
     111                        echo "<span class='wichtig'>".$snam."</span>" 
     112                        . "&nbsp;</td>" 
     113                ."\n\t\t</tr>" 
     114        ."\n\t\t</table>"; 
    110115echo "\n\t</td>\n\t<td>"; 
    111116 
     
    119124        ."\n\t\t</p>"; 
    120125} 
    121  
    122126echo "\n\t</td>\n</tr>\n</table>"; 
    123127pg_free_result($res); 
     
    168172 
    169173$zpaar=false; // Zeilen-Farbwechsel 
    170 while($rowf = pg_fetch_array($resf)) { 
     174while($rowf = pg_fetch_assoc($resf)) { 
    171175        $gmkg=$rowf["bezeichnung"]; 
    172176        $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 
Note: See TracChangeset for help on using the changeset viewer.