Ignore:
Timestamp:
11/04/11 13:46:52 (12 years ago)
Author:
frank.jaeger
Message:

Neue Flurstücks-Historie zur Buchauskunft, DB-Schema mit neuem Index, Konvertierungs-Scripte ohne User und Passwort

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/var/www/info/alkis/alkisfkt.php

    r78 r123  
    1010        17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
    1111        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
     12        02.11.2011  Parameter debug in function eigentuemer 
    1213*/ 
    1314 
     
    203204} 
    204205 
    205 function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse, $showkey) { 
     206function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse, $showkey, $debug) { 
    206207        // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben 
    207208        // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link 
     
    214215        // Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt 
    215216 
    216         $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 
    217         $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 
    218         $sql.="FROM ax_namensnummer n "; 
    219         $sql.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 
    220         $sql.="WHERE b.beziehung_zu= $1 "; // id blatt 
    221         $sql.="AND b.beziehungsart='istBestandteilVon' "; 
    222         $sql.="ORDER BY laufendenummernachdin1421;"; 
     217        if ($debug > 1) {echo "<p class='err'>function eigentuemer, gml(Blatt)=".$gmlid.", mit Adresse='".$mitadresse."'</p>";} 
     218 
     219        $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 
     220        $sqln.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 
     221        $sqln.="FROM ax_namensnummer n "; 
     222        $sqln.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 
     223        $sqln.="WHERE b.beziehung_zu= $1 "; // id blatt 
     224        $sqln.="AND b.beziehungsart='istBestandteilVon' "; 
     225        $sqln.="ORDER BY laufendenummernachdin1421;"; 
    223226 
    224227        $v = array($gmlid); 
    225         $resn = pg_prepare("", $sql); 
     228        $resn = pg_prepare("", $sqln); 
    226229        $resn = pg_execute("", $v); 
    227230 
    228         if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 
     231        if (!$resn) { 
     232                echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n"; 
     233                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 
     234        } 
    229235 
    230236        //echo "<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle 
     
    250256                                } else { 
    251257                                        echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 
    252                                         // !! Feld /td und Zeile /tr nicht geschlossen 
    253                                         //      echo "\n\t</td>\n</tr>"; // !!! IMMER? oder nur wenn letzte Zeile? 
    254258                                } 
    255259                        } 
    256260                        //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST: 
    257  
    258                         //echo "\n\t\t</td>\n\t\t<td></td>\n</tr>"; 
    259261 
    260262                        // Schleife Ebene 2: andere Namensnummern 
     
    271273                // Schleife 2: P e r s o n   
    272274                // Beziehung: ax_person  <benennt<  ax_namensnummer 
    273                 $sql ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 
    274                 $sql.="FROM ax_person p JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id "; 
    275                 $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='benennt';"; 
     275                $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 
     276                $sqlp.="FROM ax_person p JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id "; 
     277                $sqlp.="WHERE v.beziehung_von= $1 AND v.beziehungsart='benennt';"; 
    276278 
    277279                $v = array($gmlnn); 
    278                 $rese = pg_prepare("", $sql); 
    279                 $rese = pg_execute("", $v); 
    280                 // +++ kein Ergebnis bei leeren Schluesseltabellen !? 
    281  
    282                 if (!$rese) {echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 
    283                 $i=0; // Z.Eig. 
    284                 //echo "\n<!-- vor Schleife 2 Person -->"; 
    285                 while($rowe = pg_fetch_array($rese)) { 
     280                $resp = pg_prepare("", $sqlp); 
     281                $resp = pg_execute("", $v); 
     282 
     283                if (!$resp) { 
     284                        echo "\n\t<p class='err'>Fehler bei Person</p>\n"; 
     285                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";} 
     286                } 
     287 
     288                $i=0; // cnt Person 
     289                while($rowp = pg_fetch_array($resp)) { 
    286290                        $diePerson=""; 
    287                         if ($rowe["akademischergrad"] <> "") {$diePerson=$rowe["akademischergrad"]." ";} 
    288                         $diePerson.=$rowe["nachnameoderfirma"]; 
    289                         if ($rowe["vorname"] <> "") {$diePerson.=", ".$rowe["vorname"];} 
    290                         if ($rowe["namensbestandteil"] <> "") {$diePerson.=". ".$rowe["namensbestandteil"];} 
    291                         if ($rowe["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowe["geburtsdatum"];} 
    292                         if ($rowe["geburtsname"] <> "") {$diePerson.=", geb. ".$rowe["geburtsname"];} 
     291                        if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} 
     292                        $diePerson.=$rowp["nachnameoderfirma"]; 
     293                        if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];} 
     294                        if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];} 
     295                        if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];} 
     296                        if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];} 
    293297                        $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 
    294298 
     
    303307                        // Spalte 3 = Link 
    304308                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    305                                 if ($idanzeige) {linkgml($gkz, $rowe["gml_id"], "Person"); echo "&nbsp";} 
    306                                 echo "\n\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowe[0]; 
     309                                if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person"); echo "&nbsp";} 
     310                                echo "\n\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0]; 
    307311                                if ($idanzeige) {echo "&amp;id=j";} 
    308312                                if ($showkey)   {echo "&amp;showkey=j";} 
     
    313317                        if ($mitadresse) { 
    314318                                // Schleife 3:  A d r e s s e  (OPTIONAL) 
    315                                 $sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 
    316                                 $sql.="FROM ax_anschrift a "; 
    317                                 $sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 
    318                                 $sql.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER? 
    319  
    320                                 $v = array($rowe["gml_id"]); 
    321                                 $resa = pg_prepare("", $sql); 
     319                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 
     320                                $sqla.="FROM ax_anschrift a "; 
     321                                $sqla.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 
     322                                $sqla.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER? 
     323 
     324                                $gmlp=$rowp["gml_id"]; // Person 
     325                                $v = array($gmlp); 
     326                                $resa = pg_prepare("", $sqla); 
    322327                                $resa = pg_execute("", $v); 
    323328 
    324329                                if (!$resa) { 
    325                                         echo "\n\t<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n"; 
     330                                        echo "\n\t<p class='err'>Fehler bei Adressen</p>\n"; 
     331                                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";} 
    326332                                } 
     333 
    327334                                $j=0; 
    328                                 //echo "\n<!-- vor Schleife 3 Adresse -->"; 
    329335                                while($rowa = pg_fetch_array($resa)) { 
    330336                                        $gmla=$rowa["gml_id"]; 
     
    363369                                        $j++; 
    364370                                } 
    365                                 //echo "\n<!-- nach Schleife 3 Adresse -->"; 
    366                         } // if 
     371                        } // End if 
    367372                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 
    368                         $i++; // Z. Person 
    369  
     373                        $i++; // cnt Person 
    370374                        // als eigene Tab-Zeile? 
    371                         // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO)  
    372                         // an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht). 
     375                        // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht). 
    373376                        if ($rown["zaehler"] != "") { 
    374377                                echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1 
     
    376379                                echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3 
    377380                        } 
    378                 } 
    379                 //echo "\n<!-- nach Schleife 2 Person -->"; 
    380  
     381                } // End Loop Person 
    381382                if ($i == 0) { // keine Pers zur NamNum 
    382                         echo "\n<!-- Rechtsgemeinscahft='".$rechtsg."' -->"; 
     383                        if ($debug > 0) { 
     384                                echo "<p class='err'>Keine Person zur Namensnummer ".$namnum."</p>"; 
     385                        }                        
     386                        if ($debug > 2) { 
     387                                echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml(NamNum)= '".$gmlnn."'</p>"; 
     388                        } 
     389                //      echo "\n<!-- Rechtsgemeinschaft='".$rechtsg."' -->"; 
    383390                        // Wann warnen? 
    384                         //if ($rechtsg != 9999) { 
    385                                 // Art der Rechtsgemeinsachft, 0 Eigent. ist Normal bei Sondereigentum 
    386                                 //echo "\n<tr>\n<td>"; 
    387                                 //linkgml($gkz, $rown["gml_id"], "Namensnummer"); 
    388                                 //echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>"; 
    389                         //} 
     391                //      if ($rechtsg != 9999) { 
     392                        // Art der Rechtsgemeinsachft, keine Eigent. ist Normal bei Sondereigentum 
     393                        //echo "\n<tr>\n<td>"; 
     394                        //linkgml($gkz, $rown["gml_id"], "Namensnummer"); 
     395                        //echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>"; 
     396                //      } 
    390397                        echo "</td>\n\t<td>&nbsp;</td>\n<tr>"; 
    391398                } 
    392399                $n++; // cnt NamNum 
    393400        } // End Loop NamNum 
    394         //echo "\n<!-- nach Schleife 1 Namensnummer -->"; 
    395401        echo "\n</table>\n"; 
     402        if ($n == 0) { 
     403                if ($debug > 0) { 
     404                        echo "<p class='err'>keine Namensnummern zum Blatt</p>"; 
     405                } 
     406                if ($debug > 2) { 
     407                        echo "<p class='err'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>"; 
     408                } 
     409        }        
    396410        return $n;  
    397411} // End Function eigentuemer 
     
    402416function anrede($key) { 
    403417        switch ($key) { 
    404                 case 1000: 
    405                         $wert = "Frau"; 
    406                         break; 
    407                 case 2000: 
    408                         $wert = "Herr"; 
    409                         break; 
    410                 case 3000: 
    411                         $wert = "Firma"; 
    412                         break; 
    413                 default: 
    414                         $wert = ""; 
    415                         break; 
     418                case 1000: $wert = "Frau"; break; 
     419                case 2000: $wert = "Herr"; break; 
     420                case 3000: $wert = "Firma"; break; 
     421                default:   $wert = ""; break; 
    416422        } 
    417423        return $wert; 
     
    421427function rechtsgemeinschaft($key) { 
    422428        switch ($key) { 
    423                 case 1000: 
    424                         $wert = "Erbengemeinschaft";  
    425                         break; 
    426                 case 2000: 
    427                         $wert = "GÃŒtergemeinschaft";  
    428                         break; 
    429                 case 3000: 
    430                         $wert = "BGB-Gesellschaft";  
    431                         break; 
    432                 case 9999: 
    433                         $wert = "Sonstiges";  
    434                 // dann: beschriebDerRechtsgemeinschaft 
    435                         break; 
    436                 default: 
    437                         $wert = ""; 
    438                         break; 
     429                case 1000: $wert = "Erbengemeinschaft"; break; 
     430                case 2000: $wert = "GÃŒtergemeinschaft"; break; 
     431                case 3000: $wert = "BGB-Gesellschaft"; break; 
     432                case 9999: $wert = "Sonstiges"; break;  // dann: beschriebDerRechtsgemeinschaft 
     433                default:   $wert = ""; break; 
    439434        } 
    440435        return $wert; 
     
    444439function eigentuemerart($key) { 
    445440        switch ($key) { 
    446                 case 1000: 
    447                         $wert = "Nat&uuml;rliche Person";  
    448                         break; 
    449                 case 2000: 
    450                         $wert = "Juristische Person";  
    451                         break; 
    452                 case 3000: 
    453                         $wert = "K&ouml;rperschaft";  
    454                         break; 
    455                 case "": // falls (noch) nicht gefuellt 
    456                         $wert = "Person";  
    457                         break; 
    458                 default: 
    459                         $wert = "** Unbekannte Eigent&uuml;merart '".$key."' **";; 
    460                         break; 
     441                case 1000: $wert = "Nat&uuml;rliche Person"; break; 
     442                case 2000: $wert = "Juristische Person"; break; 
     443                case 3000: $wert = "K&ouml;rperschaft"; break; 
     444                case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt 
     445                default:   $wert = "** Unbekannte Eigent&uuml;merart '".$key."' **"; break; 
    461446        } 
    462447        return $wert; 
     
    465450function blattart($key) { 
    466451        switch ($key) { 
    467                 case 1000: 
    468                         $wert = "Grundbuchblatt";  
    469                         // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt. 
    470                         break; 
    471                 case 2000: 
    472                         $wert = "Katasterblatt"; 
    473                         // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt. 
    474                         break; 
    475                 case 3000: 
    476                         $wert = "Pseudoblatt"; 
    477                         // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt  
    478                         // (z.B. Übernahme von Flurbereinigungsverfahren, Umlegungsverfahren). 
    479                         break; 
    480                 case 5000: 
    481                         $wert = "Fiktives Blatt"; 
    482                         // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes.  
    483                         // Es bildet um die Miteigentumsanteile eine fachliche Klammer. 
    484                         break; 
    485                 default: 
    486                         $wert = "** Unbekannter Wert '".$key."'";; 
    487                         break; 
     452                case 1000: $wert = "Grundbuchblatt"; break; 
     453                // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt. 
     454                case 2000: $wert = "Katasterblatt"; break; 
     455                // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt. 
     456                case 3000: $wert = "Pseudoblatt"; break; 
     457                // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt  
     458                // (z.B. Übernahme von Flurbereinigungsverfahren, Umlegungsverfahren). 
     459                case 5000: $wert = "Fiktives Blatt"; break; 
     460                // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes.  
     461                // Es bildet um die Miteigentumsanteile eine fachliche Klammer. 
     462                default: $wert = "** Unbekannter Wert '".$key."'"; break; 
    488463        } 
    489464        return $wert; 
     
    492467function dienststellenart($key) { 
    493468        switch ($key) { 
    494                 case 1000: 
    495                         $wert = "Grundbuchamt"; 
    496                         break; 
    497                 case 1100: 
    498                         $wert = "Katasteramt";  
    499                         break; 
    500                 case 1200: 
    501                         $wert = "Finanzamt";  
    502                         break; 
    503                 case 1300: 
    504                         $wert = "Flurbereinigungsbeh&ouml;rde";  
    505                         break; 
    506                 case 1400: 
    507                         $wert = "Forstamt";  
    508                         break; 
    509                 case 1500: 
    510                         $wert = "Wasserwirtschaftsamt";  
    511                         break; 
    512                 case 1600: 
    513                         $wert = "Straßenbauamt";  
    514                         break; 
    515                 case 1700: 
    516                         $wert = "Gemeindeamt";  
    517                         break; 
    518                 case 1900: 
    519                         $wert = "Kreis- oder Stadtverwaltung";  
    520                         break; 
    521                 case 2000: 
    522                         $wert = "Wasser- und Bodenverband";  
    523                         break; 
    524                 case 2100: 
    525                         $wert = "Umlegungsstelle";  
    526                         break; 
    527                 case 2200: 
    528                         $wert = "Landesvermessungsverwaltung";  
    529                         break; 
    530                 case 2300: 
    531                         $wert = "&Ouml;bVI";  
    532                         break; 
    533                 case 2400: 
    534                         $wert = "Bundeseisenbahnverm&ouml;gen";  
    535                         break; 
    536                 case 2500: 
    537                         $wert = "Landwirtschaftskammer";  
    538                         break; 
    539                 default: 
    540                         $wert = "** Unbekannter Wert '".$key."'"; 
    541                         break; 
     469                case 1000: $wert = "Grundbuchamt"; break; 
     470                case 1100: $wert = "Katasteramt"; break; 
     471                case 1200: $wert = "Finanzamt"; break; 
     472                case 1300: $wert = "Flurbereinigungsbeh&ouml;rde"; break; 
     473                case 1400: $wert = "Forstamt"; break; 
     474                case 1500: $wert = "Wasserwirtschaftsamt"; break; 
     475                case 1600: $wert = "Straßenbauamt"; break; 
     476                case 1700: $wert = "Gemeindeamt"; break; 
     477                case 1900: $wert = "Kreis- oder Stadtverwaltung"; break; 
     478                case 2000: $wert = "Wasser- und Bodenverband"; break; 
     479                case 2100: $wert = "Umlegungsstelle"; break; 
     480                case 2200: $wert = "Landesvermessungsverwaltung"; break; 
     481                case 2300: $wert = "&Ouml;bVI"; break; 
     482                case 2400: $wert = "Bundeseisenbahnverm&ouml;gen"; break; 
     483                case 2500: $wert = "Landwirtschaftskammer"; break; 
     484                default: $wert = "** Unbekannter Wert '".$key."'"; break; 
    542485        } 
    543486        return $wert; 
Note: See TracChangeset for help on using the changeset viewer.