Changeset 41 for trunk/var/www/info/alkis/alkisfkt.php
- Timestamp:
- 09/03/10 13:36:04 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/var/www/info/alkis/alkisfkt.php
r26 r41 1 1 <?php 2 /* alkisfkt.php2 /* Modul: alkisfkt.php 3 3 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 4 Functions z.B. zum Entschluesseln 4 Functions 5 5 6 Version: 6 26.01.2010 internet-Version mit eigener confÂŽ 7 31.08.2010 $style=ALKIS entfernt, link zu alkislage.php 8 02.09.2010 mit Icons 7 9 */ 8 10 9 // Einen Seitenfuss ausgeben. 10 // Der URL-Parameter &id=j/n kann hinzugefuegt werden, solange die Parameter &gkz= &gmlid= 11 // in allen Modulen einheitlich und ausschlesslich vorkommen, 12 function footer($gkz, $gmlid, $idanzeige, $link, $hilfeurl, $style) { 11 function footer($gkz, $gmlid, $idanzeige, $link, $hilfeurl, $append) { 12 // Einen Seitenfuss ausgeben. 13 // Den URL-Parameter "&id=j/n" in allen Kombinationen umschalten lassen. 14 // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor 15 16 // Der Parameter "&eig=j" wird angehaengt wenn gefuellt. // ALT 17 // Der Parameter $append wird angehaengt wenn gefuellt 18 // Anwendung: &eig=j bei FS-NW, <yp=m/p/o bei Lage 19 13 20 $customer=$_SESSION["mb_user_name"]; 14 21 echo "\n<div class='confbereich noprint'>"; 22 15 23 echo "\n<table class='outer'>\n<tr>"; 16 24 17 // Spalte 1 25 // Spalte 1: Info Benutzerkennung 18 26 echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>"; 19 20 // Spalte 2 27 28 // Spalte 2: Umschalter 21 29 echo "\n\t<td title='Konfiguration'>"; 22 23 // Umschalter Testmodus (ID-Verfolgung) 24 echo "\n\t\t<a href='".$link."gkz=".$gkz."&gmlid=".$gmlid; 25 if ($idanzeige) { 26 echo "' title='Ohne Verfolgung der ALKIS-Beziehungen'>ID aus</a>"; 27 } else { 28 29 echo "&id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>ID ein</a>"; 30 } 31 echo " "; 32 33 // Umschalter fuer Darstellung der Daten 34 echo "\n\t\t<a href='".$link."gkz=".$gkz."&gmlid=".$gmlid; 35 if ($idanzeige) {echo "&id=j";} 36 If ($style == "alkis") { 37 echo "&style=kompakt' title='Kurze tabellarische Darstellung'>Kompakt</a>"; 38 } else { // kompakter Style 39 echo "&style=alkis' title='Beschreibende Darstellung'>ALKIS-Style</a>"; 40 } 41 30 // Umschalter Testmodus I D - A n z e i g e 31 echo "\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&gmlid=".$gmlid; 32 // if ($eig <> "") echo "&eig=".$eig; // nur fuer FS-Nachw 33 if ($append <> "") echo $append; // nur fuer FS-Nachw 34 35 if ($idanzeige) { // Umschalten 36 echo "&id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>ID aus"; 37 } else { 38 echo "&id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>ID ein"; 39 } 40 echo "</a>"; 42 41 echo "\n\t</td>"; 43 42 … … 47 46 48 47 echo "\n</tr>\n</table>\n</div>\n"; 49 50 48 return 0; 51 49 } 52 // Einen Link zur Verfolgung der Beziehungen mit dem Prog alkisrelationen 50 53 51 function linkgml($gkz, $gml, $typ) { 54 $kurzid=substr($gml, 11); // kuerzen, der Anfang ist immer identisch55 echo "\n\t\t<div class='gmlid noprint' title='ID ".$typ."'>";56 echo "\n\t\t \t<a target='_blank' class='gmlid' href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."'>".$kurzid."</a>\n\t\t</div>";52 // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php 53 $kurzid=substr($gml, 11); // ID kuerzen, der Anfang ist immer gleich 54 echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."'>".$kurzid."</a>"; 57 55 return 0; 58 56 } 59 // Namensnummer kuerzen, nicht benoetigte Stufen abschneiden 57 60 58 function kurz_namnr($lang) { 61 $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 62 $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) 59 // Namensnummer kuerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden 60 $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 61 $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) 63 62 $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang 64 $kurz=str_replace(".0",".",$kurz); 63 $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe 65 64 return $kurz; 66 65 } 67 66 68 // ** E n t s c h l u e s s e l n ** 69 /* MUSTER 70 // Entschluesslung AX_Tab.Feld 71 function fkt_name($key) { 72 switch ($key) { 73 case ___: 74 $wert = "___"; 75 break; 76 default: 77 $wert = ""; 78 break; 79 } 80 return $wert; 81 } 67 function fs_gebietszug($con, $gemeinde, $kreis, $bezirk) { 68 // eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben 69 // Parameter = Schluesselwerte 70 // Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist? 71 72 echo "\n<tr>\n\t<td class='ll'><img src='ico/Gemeinde.ico' width='16' height='16' alt=''> Im Gebiet von:</td>"; 73 74 // G e m e i n d e 75 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' AND gemeinde='".$gemeinde."' "; 76 $res=pg_query($con, $sql); 77 if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>"; 78 $row = pg_fetch_array($res); 79 $gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 80 echo "\n\t<td class='lr'>Gemeinde <span class='key'>(".$gemeinde.")</span> ".$gnam."<br>"; 81 82 // K r e i s 83 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' "; 84 $res=pg_query($con, $sql); 85 if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>"; 86 $row = pg_fetch_array($res); 87 $knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 88 echo "Kreis <span class='key'>(".$kreis.")</span> ".$knam."<br>"; 89 90 // R e g - B e z 91 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' "; 92 $res=pg_query($con, $sql); 93 if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>"; 94 $row = pg_fetch_array($res); 95 $bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 96 echo "Regierungsbezirk <span class='key'>(".$bezirk.")</span> ".$bnam."</td>"; 97 98 // 3. Spalte fÃŒr NW-Link (in weiteren Tab-Zeilen) 99 echo "\n\t<td> </td>\n</tr>"; 100 return 0; 101 } 102 103 function fs_lage($con, $gmlid, $gkz) { 104 // Tabellenzeilen mit Lage eines FS 105 // Parameter = ID des FS 106 107 // Lagebezeichnung Mit Hausnummer 108 // ax_flurstueck >weistAuf> AX_LagebezeichnungMitHausnummer 109 // <gehoertZu< 110 $sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 111 $sql.="FROM alkis_beziehungen v "; 112 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 113 $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage "; 114 $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 115 $sql.="AND v.beziehungsart='weistAuf' "; 116 $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 117 118 // Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage 119 // bei einem SekundÀrbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier: 120 121 //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage "; 122 // Problem: ax_lagebezeichnungkatalogeintrag.lage ist char, 123 // ax_lagebezeichnungmithausnummer.lage ist integer, 124 125 // cast() scheitert weil auch nicht numerische Inhalte 126 //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) "; 127 128 // http://www.postgresql.org/docs/8.3/static/functions-formatting.html 129 130 $res=pg_query($con, $sql); 131 if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";} 132 $j=0; 133 while($row = pg_fetch_array($res)) { 134 $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 135 //echo "<!-- Adresse -->"; 136 echo "\n<tr>\n\t"; 137 if ($j == 0) { 138 echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>"; 139 } else { 140 echo "<td> </td>"; 141 } 142 echo "\n\t<td class='lr'><span class='key'>(".$row["lage"].")</span> ".$sname." ".$row["hausnummer"]."</td>"; 143 echo "\n\t<td><p class='nwlink noprint'><a href='alkislage.php?gkz=".$gkz."&ltyp=m&gmlid=".$row["gml_id"]."'>Lage</a></p></td>"; 144 echo "\n</tr>"; 145 $j++; 146 } 147 $z=$j; 148 149 // Lagebezeichnung Ohne Hausnummer (Gewanne oder nur Strasse) 150 // ax_flurstueck >zeigtAuf> AX_LagebezeichnungOhneHausnummer 151 // <gehoertZu< 152 $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung "; 153 $sql.="FROM alkis_beziehungen v "; 154 $sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu "; 155 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 156 // $sql.="AND l.lage=s.lage "; 157 // hier beide .lage als Char(5) 158 // in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen 159 // in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen 160 $sql.="AND l.lage=trim(leading '0' from s.lage) "; 161 // $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte 162 $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 163 $sql.="AND v.beziehungsart='zeigtAuf';"; //ORDER? 164 $res=pg_query($con, $sql); 165 if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>"; 166 $j=0; 167 // Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden! 168 while($row = pg_fetch_array($res)) { 169 $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 170 $skey=$row["lage"]; // Strassenschluessel 171 $lgml=$row["gml_id"]; // key der Lage 172 if (!$gewann == "") { 173 echo "\n<tr>"; 174 echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>"; 175 echo "\n\t<td class='lr'>".$gewann."</td>"; 176 echo "\n\t<td><p class='nwlink noprint'><a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&ltyp=o&gmlid=".$lgml."'>Lage</a></p></td>"; 177 echo "\n</tr>"; 178 } 179 // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link 180 if ($skey > 0) { 181 echo "\n<tr>"; 182 echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Straße:</td>"; 183 echo "\n\t<td class='lr'><span class='key'>(".$skey.")</span> ".$row["bezeichnung"]."</td>"; 184 echo "\n\t<td><p class='nwlink noprint'><a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&ltyp=o&gmlid=".$lgml."'>Lage</a></p></td>"; 185 echo "\n</tr>"; 186 } 187 $j++; 188 } 189 $z=$z+$j; 190 //echo "<p class='err'>Anzahl ".$j."<br>SQL=<br>".$sql."<br></p>"; 191 return $z; // Summe der ausgegebenen Zeilen 192 } 193 194 function fs_nutz($con, $gmlid) { 195 // Tabellenzeilen (3 Sp.) mit tats. Nutzung zu einem FS ausgeben 196 // Parameter = ID des FS 197 echo "\n<tr>\n\t<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzungsarten:</td>"; 198 echo "\n\t<td class='ph'>(Programmteil ist noch in Arbeit)</td>"; 199 echo "\n\t<td> </td>\n</tr>"; 200 } 201 202 function bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) { 203 /* Bestandsnachweis - Flurstuecksdaten 204 Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. 205 Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). 206 Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 207 Table-Tag und Kopfzeile im aufrufenden Programm. 82 208 */ 209 210 // F L U R S T U E C K 211 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, "; 212 $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; 213 $sql.="FROM ax_gemarkung g "; 214 $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 215 $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 216 $sql.="WHERE v.beziehung_zu='".$gml_bs."' "; // id buchungsstelle 217 $sql.="AND v.beziehungsart='istGebucht' "; 218 $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 219 $resf=pg_query($con,$sql); 220 if (!$resf) {echo "<p class='err'>Fehler bei Flurstück<br><br>".$sql."</p>\n";} 221 if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben 222 $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 223 } 224 $altlfdnr=""; 225 $j=0; 226 while($rowf = pg_fetch_array($resf)) { 227 if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);} 228 $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; 229 $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 230 $fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT); 231 echo "\n<tr>"; // eine Zeile je Flurstueck 232 233 // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS 234 if($lfdnr == $altlfdnr) { // gleiches Grundstueck 235 echo "\n\t<td> </td>\n\t<td> </td>\n\t<td> </td>"; 236 } else { 237 echo "\n\t<td><img src='ico/Grundstueck.ico' width='16' height='16' alt='' title='Grundstück' /> <span class='wichtig'>".$bvnr."</span>"; // BVNR 238 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");} 239 echo "</td>"; 240 echo "\n\t<td>".$ba."</td>"; // Buchungsart entschluesselt 241 echo "\n\t<td> </td>"; // Anteil 242 $altlfdnr=$lfdnr; 243 } 244 //Sp. 4-7 aus Flurstueck 245 echo "\n\t<td><span class='key'>".$rowf["gemarkungsnummer"]."</span> ".$rowf["bezeichnung"]."</td>"; 246 echo "\n\t<td>".$flur."</td>"; 247 echo "\n\t<td><span class='wichtig'>".$fskenn."</span>"; 248 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück");} 249 echo "</td>\n\t<td class='fla'>".$flae."</td>"; 250 251 echo "\n\t<td><p class='nwlink noprint'>"; 252 echo "<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$rowf["gml_id"]."&eig=n"; 253 if ($idanzeige) {echo "&id=j";} 254 echo "' title='Flurstücksnachweis'>Flurstück <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a></p></td>\n</tr>"; 255 256 $j++; 257 } // Ende Flurstueck 258 return $j; 259 } 260 261 function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse) { 262 // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben 263 // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link 264 // Parameter: 265 // $gmlid = ID des GB-Blattes 266 // $mitadresse = Option (true/false) ob auch die Adresszeile ausgegeben werden soll 267 // Return = Anzahl Namensnummern 268 269 // Schleife 1: N a m e n s n u m m e r 270 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 271 272 $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 273 $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 274 $sql.="FROM ax_namensnummer n "; 275 $sql.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 276 $sql.="WHERE b.beziehung_zu='".$gmlid."' "; // id blatt 277 $sql.="AND b.beziehungsart='istBestandteilVon' "; 278 $sql.="ORDER BY laufendenummernachdin1421;"; 279 280 $resn=pg_query($con, $sql); 281 if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 282 283 echo "<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle 284 echo "\n<table class='eig'>"; 285 $n=0; // Z.NamNum. 286 287 //echo "\n\n<!-- vor Schleife 1 Namensnummer -->"; 288 while($rown = pg_fetch_array($resn)) { 289 echo "\n<tr>"; 290 echo "\n\t<td class='nanu' title='Namens-Nummer'><p>"; // Sp. 1 291 // VOR die Tabelle: "EigentÃŒmer" 292 $namnum=kurz_namnr($rown["lfd"]); 293 echo $namnum." "; 294 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");} 295 echo "</p></td>"; 296 297 echo "\n\t<td>"; // Sp. 2 298 $rechtsg=$rown["adr"]; 299 if ($rechtsg != "" ) { 300 if ($rechtsg == 9999) { // sonstiges 301 echo "<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 302 } else { 303 echo "<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 304 // !! Feld /td und Zeile /tr nicht geschlossen 305 // echo "\n\t</td>\n</tr>"; // !!! IMMER? oder nur wenn letzte Zeile? 306 } 307 } 308 //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST: 309 310 //echo "\n\t\t</td>\n\t\t<td></td>\n</tr>"; 311 312 // Schleife Ebene 2: andere Namensnummern 313 // Beziehung ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer 314 315 // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus, 316 // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können. 317 // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, 318 // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 319 320 // Die Relation 'Namensnummer' hat VorgÀnger 'Namensnummer' gibt Auskunft darÃŒber, 321 // aus welchen Namensnummern die aktuelle entstanden ist. 322 323 // Schleife 2: P e r s o n 324 // Beziehung: ax_person <benennt< ax_namensnummer 325 $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 326 $sql.="FROM ax_person p "; 327 $sql.="JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id "; 328 $sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num 329 $sql.="AND v.beziehungsart='benennt';"; 330 //echo "\n\t<p class='err'>Schleife Person SQL=<br>".$sql."</p>"; // test 331 332 $rese=pg_query($con, $sql); 333 if (!$rese) {echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 334 $i=0; // Z.Eig. 335 //echo "\n<!-- vor Schleife 2 Person -->"; 336 while($rowe = pg_fetch_array($rese)) { 337 $diePerson=""; 338 if ($rowe["akademischergrad"] <> "") {$diePerson=$rowe["akademischergrad"]." ";} 339 $diePerson.=$rowe["nachnameoderfirma"]; 340 if ($rowe["vorname"] <> "") {$diePerson.=", ".$rowe["vorname"];} 341 if ($rowe["namensbestandteil"] <> "") {$diePerson.=". ".$rowe["namensbestandteil"];} 342 if ($rowe["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowe["geburtsdatum"];} 343 if ($rowe["geburtsname"] <> "") {$diePerson.=", geb. ".$rowe["geburtsname"];} 344 $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 345 346 // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 347 if ($i > 0) { 348 echo "\n<tr>\n\t<td> </td>\n\t<td>"; 349 } 350 // Spalte 2 = Angaben 351 echo "<p class='geig' title='Eigentümerart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p></td>"; 352 353 // Spalte 3 = Link 354 echo "\n\t<td><p class='nwlink noprint'>"; 355 if ($idanzeige) {linkgml($gkz, $rowe["gml_id"], "Person"); echo " ";} 356 echo "<a href='alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowe[0]; 357 if ($idanzeige) {echo "&id=j";} 358 echo "' title='vollständiger Name und Adresse eines Eigentümers'>Person <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a></p>"; 359 echo "</td>\n</tr>"; 360 361 if ($mitadresse) { 362 // Schleife 3: A d r e s s e (OPTIONAL) 363 $sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 364 $sql.="FROM ax_anschrift a "; 365 $sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 366 $sql.="WHERE b.beziehung_von='".$rowe["gml_id"]."' "; 367 $sql.="AND b.beziehungsart='hat';"; // ORDER? 368 369 $resa=pg_query($con,$sql); 370 if (!$resa) { 371 echo "\n\t<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n"; 372 } 373 $j=0; 374 //echo "\n<!-- vor Schleife 3 Adresse -->"; 375 while($rowa = pg_fetch_array($resa)) { 376 $gmla=$rowa["gml_id"]; 377 $plz=$rowa["plz"]; // integer 378 if($plz == 0) { 379 $plz=""; 380 } else { 381 $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); 382 } 383 $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); 384 $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); 385 $hsnr=$rowa["hausnummer"]; 386 $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 387 388 echo "\n<tr>\n\t<td> </td>"; // Spalte 1 389 echo "\n\t<td><p class='gadr'>"; //Spalte 2 390 if ($str.$hsnr != "") { 391 echo $str." ".$hsnr."<br>"; 392 } 393 if ($plz.$ort != "") { 394 echo $plz." ".$ort; 395 } 396 if ($land != "" and $land != "DEUTSCHLAND") { 397 echo ", ".$land; 398 } 399 echo "</p></td>"; 400 echo "\n\t<td>"; // Spalte 3 401 if ($idanzeige) { 402 echo "<p class='nwlink noprint'>"; 403 linkgml($gkz, $gmla, "Adresse"); 404 echo "</p>"; 405 } else { 406 echo " "; 407 } 408 echo "</td>\n</tr>"; 409 $j++; 410 } 411 //echo "\n<!-- nach Schleife 3 Adresse -->"; 412 } // if 413 // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 414 $i++; // Z. Person 415 416 // als eigene Tab-Zeile? 417 // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) 418 // an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht). 419 if ($rown["zaehler"] != "") { 420 echo "\n<tr>\n\t<td> </td>"; // Sp. 1 421 echo "\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p></td>"; 422 echo "\n\t<td> </td>\n</tr>"; // Sp. 3 423 } 424 } 425 //echo "\n<!-- nach Schleife 2 Person -->"; 426 427 if ($i == 0) { // keine Pers zur NamNum 428 echo "\n<!-- Rechtsgemeinscahft='".$rechtsg."' -->"; 429 // Wann warnen? 430 //if ($rechtsg != 9999) { 431 // Art der Rechtsgemeinsachft, 0 Eigent. ist Normal bei Sondereigentum 432 //echo "\n<tr>\n<td>"; 433 //linkgml($gkz, $rown["gml_id"], "Namensnummer"); 434 //echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigentümer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>"; 435 //} 436 echo "</td>\n\t<td> </td>\n<tr>"; 437 } 438 $n++; // cnt NamNum 439 } // End Loop NamNum 440 //echo "\n<!-- nach Schleife 1 Namensnummer -->"; 441 echo "\n</table>\n"; 442 return $n; 443 } // End Function eigentuemer 444 445 // ** Functions zum E n t s c h l u e s s e l n ** 446 83 447 // Entschluesslung ax_person.anrede 84 448 function anrede($key) {
Note: See TracChangeset
for help on using the changeset viewer.