source: trunk/var/www/info/alkis/alkisnamstruk.php @ 129

Revision 129, 9.8 KB checked in by frank.jaeger, 12 years ago (diff)
Line 
1<?php
2/*      Modul: alkisnamstruk.php
3
4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
5        Namens- und Adressdaten fuer einen Eigentuemer aus ALKIS PostNAS
6
7        Version:
8        06.09.2010  Schluessel anschaltbar
9        15.09.2010  Function "buchungsart" durch JOIN ersetzt, Tabelle GB einzeilig
10        14.12.2010  Pfad zur Conf
11        17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
12        26.01.2011  Space in leere td
13        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
14        02.11.2011  $sqla, $sqlg, Meldungen mit $debug steuern
15        17.11.2011  Parameter der Functions geÀndert
16
17        ToDo:
18        Sortierung der GrundbÃŒcher zum Namen
19        Mehrere Adressen zum Namen? Historische ausblenden/markieren?
20*/
21ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
22session_start();
23$gkz=urldecode($_REQUEST["gkz"]);
24require_once("alkis_conf_location.php");
25if ($auth == "mapbender") {require_once($mapbender);}
26include("alkisfkt.php");
27?>
28<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
29<html>
30<head>
31        <meta name="author" content="F. Jaeger krz" >
32        <meta http-equiv="cache-control" content="no-cache">
33        <meta http-equiv="pragma" content="no-cache">
34        <meta http-equiv="expires" content="0">
35        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
36        <title>ALKIS Person und Adresse</title>
37        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
38        <link rel="shortcut icon" type="image/x-icon" href="ico/Eigentuemer_2.ico">
39        <style type='text/css' media='print'>
40                .noprint {visibility: hidden;}
41        </style>
42</head>
43<body>
44<?php
45$gmlid=urldecode($_REQUEST["gmlid"]);
46$id = isset($_GET["id"]) ? $_GET["id"] : "n";
47if ($id == "j") {
48        $idanzeige=true;
49} else {
50        $idanzeige=false;
51}
52$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
53if ($keys == "j") {
54        $showkey=true;
55} else {
56        $showkey=false;
57}
58$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
59// Balken
60echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n";
61
62echo "\n<h2><img src='ico/Eigentuemer.ico' width='16' height='16' alt=''> Person</h2>\n";
63if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>\n";
64
65$sql="SELECT nachnameoderfirma, anrede, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad ";
66$sql.="FROM ax_person WHERE gml_id= $1;";
67
68$v = array($gmlid);
69$res = pg_prepare("", $sql);
70$res = pg_execute("", $v);
71
72if (!$res) {echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>\n";}
73if ($idanzeige) { linkgml($gkz, $gmlid, "Person"); }
74if ($row = pg_fetch_array($res)) {
75        $vor=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8");
76        $nam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8");
77        $geb=htmlentities($row["geburtsname"], ENT_QUOTES, "UTF-8");
78        $anr=anrede($row["anrede"]);
79        $aka=$row["akademischergrad"];
80
81        echo "<table>\n";
82                echo "\t<tr><td class='nhd'>Anrede:</td><td class='nam'>".$anr."</td></tr>\n";
83                echo "\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>\n";
84                echo "\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."</td></tr>\n";
85                echo "\t<tr><td class='nhd'>Geburtsname:</td><td class='nam'>".$geb."</td></tr>\n";
86                echo "\t<tr><td class='nhd'>Geburtsdatum:</td><td class='nam'>".$row["geburtsdatum"]."&nbsp;</td></tr>\n";
87                echo "\t<tr><td class='nhd'>Namensbestandteil:</td><td class='nam'>".$row["namensbestandteil"]."&nbsp;</td></tr>\n";
88                echo "\t<tr><td class='nhd'>akademischer Grad:</td><td class='nam'>".$aka."&nbsp;</td></tr>\n";
89        echo "\n</table>\n<hr>\n";
90
91        // A d r e s s e
92        echo "\n<h3><img src='ico/Strasse_mit_Haus.ico' width='16' height='16' alt=''> Adresse</h3>\n";
93        $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
94        $sqla.="FROM ax_anschrift a ";
95        $sqla.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
96        $sqla.="WHERE b.beziehung_von= $1 ";
97        $sqla.="AND b.beziehungsart='hat';"; //"ORDER  BY ?;";
98
99        $v = array($gmlid);
100        $resa = pg_prepare("", $sqla);
101        $resa = pg_execute("", $v);
102
103        if (!$resa) {
104                echo "\n<p class='err'>Fehler bei Adressen</p>\n";
105                if ($debug > 2) {       
106                        echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>\n";
107                }
108        }
109
110        $j=0;
111        while($rowa = pg_fetch_array($resa)) {
112                $gmla=$rowa["gml_id"];
113                $plz=$rowa["plz"];
114                $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
115                $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
116                $hsnr=$rowa["hausnummer"];
117                $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
118                if ($idanzeige) { linkgml($gkz, $gmla, "Adresse"); }
119
120                echo "<table>\n";
121                        echo "\t<tr><td class='nhd'>PLZ:</td><td class='nam'>".$plz."</td></tr>\n";
122                        echo "\t<tr><td class='nhd'>Ort:</td><td class='nam'>".$ort."</td></tr>\n";
123                        echo "\t<tr><td class='nhd'>Strasse:</td><td class='nam'>".$str."</td></tr>\n";
124                        echo "\t<tr><td class='nhd'>Hausnummer:</td><td class='nam'>".$hsnr."</td></tr>\n";
125                        echo "\t<tr><td class='nhd'>Land:</td><td class='nam'>".$land."</td></tr>\n";
126                echo "\n</table>\n<br>\n";
127                $j++;
128
129                // Name und Adresse Kompakt (im Rahmen)
130                // Alles was man fuer ein Anschreiben braucht
131                echo "<img src='ico/Namen.ico' width='16' height='16' alt='Brief' title='Anschrift'>"; // Symbol "Brief"
132                echo "\n<div class='adr' title='Anschrift'>".$anr." ".$aka." ".$vor." ".$nam."<br>";
133                echo "\n".$str." ".$hsnr."<br>";
134                echo "\n".$plz." ".$ort."</div>";
135        }
136        if ($j == 0) {echo "\n<p class='err'>Keine Adressen.</p>\n";}
137
138        // *** G R U N D B U C H ***
139        echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundb&uuml;cher</h3>\n";
140        // person <benennt< namensnummer >istBestandteilVon>                Buchungsblatt
141        //                               >bestehtAusRechtsverhaeltnissenZu> namensnummer   (Nebenzweig/SonderfÀlle?)
142
143        $sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
144        $sqlg.="g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, ";
145        $sqlg.="b.bezeichnung AS beznam ";
146        $sqlg.="FROM alkis_beziehungen bpn ";
147        $sqlg.="JOIN ax_namensnummer n ON bpn.beziehung_von=n.gml_id ";
148        $sqlg.="JOIN alkis_beziehungen bng ON n.gml_id=bng.beziehung_von ";
149        $sqlg.="JOIN ax_buchungsblatt g ON bng.beziehung_zu=g.gml_id ";
150        $sqlg.="LEFT JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk ";
151        $sqlg.="WHERE bpn.beziehung_zu= $1 ";
152        $sqlg.="AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' ";
153        $sqlg.="ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung;";
154        // buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander
155
156        $v = array($gmlid);
157        $resg = pg_prepare("", $sqlg);
158        $resg = pg_execute("", $v);
159
160        if (!$resg) {
161                echo "\n<p class='err'>Fehler bei Grundbuch</p>\n";
162                if ($debug > 2) {
163                        echo "\n<p class='err'>SQL=".$sqlg."</p>\n";
164                }
165        }
166        $j=0;
167        echo "<table class='eig'>";
168        echo "\n<tr>";
169                echo "\n\t<td class='head'>Bezirk</td>";
170                echo "\n\t<td class='head'>Blattart</td>";
171                echo "\n\t<td class='head'>Blatt</td>";
172                echo "\n\t<td class='head'>Namensnummer</td>";
173                echo "\n\t<td class='head'>Anteil</td>";
174                echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>";
175        echo "\n</tr>";
176
177        while($rowg = pg_fetch_array($resg)) {
178                $gmln=$rowg["gml_n"];
179                $gmlg=$rowg["gml_g"];
180                $namnum=kurz_namnr($rowg["lfd"]);
181                $zae=$rowg["zaehler"];
182                $blattkey=$rowg["blattart"];
183                $blattart=blattart($blattkey);
184
185                echo "\n<tr>";
186
187                        echo "\n\t<td class='gbl'>"; // GB-Bezirk"
188                                if ($showkey) {
189                                        echo "<span class='key'>".$rowg["bezirk"]."</span> ";
190                                }
191                                echo $rowg["beznam"];
192                        echo "</td>";
193
194                        echo "\n\t<td class='gbl'>"; // Blattart
195                                if ($showkey) {
196                                        echo "<span class='key'>".$blattkey."</span> ";
197                                }
198                                echo $blattart;
199                        echo "</td>";
200
201                        echo "\n\t<td class='gbl'>"; // Blatt
202                                echo "<span class='wichtig'>".$rowg["nr"]."</span>";
203                                if ($idanzeige) {
204                                        linkgml($gkz, $gmlg, "Grundbuchblatt");                                 }
205                        echo "</td>";
206
207                        echo "\n\t<td class='gbl'>"; // Namensnummer
208                                If ($namnum == "") {
209                                        echo "&nbsp;";
210                                } else {
211                                        echo $namnum;
212                                }
213                                if ($idanzeige) {
214                                        linkgml($gkz, $gmln, "Namensnummer");
215                                }
216                        echo "</td>";
217
218                        echo "\n\t<td class='gbl'>"; // Anteil
219                                If ($zae == "") {
220                                        echo "&nbsp;";
221                                } else {
222                                        echo $zae."/".$rowg["nenner"]." Anteil";
223                                }
224                        echo "</td>";
225
226                        echo "\n\t<td class='gbl'>";
227                                echo "\n\t\t<p class='nwlink noprint'>";
228                                        echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg;
229                                                if ($idanzeige) {echo "&amp;id=j";}
230                                                if ($showkey)   {echo "&amp;showkey=j";}
231                                                echo "' title='Bestandsnachweis'>";
232                                                echo $blattart;
233                                        echo "\n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
234                                echo "\n\t\t</p>";                         echo "\n\t</td>";
235
236                echo "\n</tr>";
237                // +++ >bestehtAusRechtsverhaeltnissenZu> namensnummer ??
238                //     z.B. eine Namennummer "Erbengemeinschaft" zeigt auf Namensnummern mit EigentÃŒmern
239                $i++;
240        }
241        echo "</table>";
242        if ($i == 0) {echo "\n<p class='err'>Kein Grundbuch.</p>\n";}
243} else {
244        echo "\n\t<p class='err'>Fehler! Kein Treffer f&uuml;r\n\t<a target='_blank' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid."'>".$gmlid."</a>\n</p>\n\n";
245}
246?>
247
248<form action=''>
249        <div class='buttonbereich noprint'><hr>
250                <input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
251                <input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
252                <input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
253        </div>
254</form>
255
256<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
257
258</body>
259</html>
Note: See TracBrowser for help on using the repository browser.