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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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++;    
Note: See TracChangeset for help on using the changeset viewer.