Changeset 330 for trunk/info/info/alkis/alkisfkt.php
- Timestamp:
- 09/10/14 12:08:18 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkis/alkisfkt.php
r315 r330 11 11 2014-01-22 Eigentuemerart: Mehr Werte und Zugriff auf DB-SchlÃŒssel-Tabelle 12 12 2014-02-06 Korrektur EigentÃŒmerart 13 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 14 2014-09-10 Bei Relationen den Timestamp abschneiden 13 15 */ 14 16 … … 63 65 } 64 66 65 function linkgml($gkz, $gml, $typ ) {67 function linkgml($gkz, $gml, $typ, $tabelle) { 66 68 // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php 67 $kurzid=substr($gml, 12); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich 69 // tabelle = nur angeben fÃŒr Tabellen, die Relationen-Spalten besitzen, sonst leer 70 $kurzid=substr($gml, 12, 4); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich 71 // PostNAS 0.8: Timestamp abschneiden 68 72 echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' "; 69 echo "href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ." '>";73 echo "href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."&tabelle=".$tabelle."'>"; 70 74 echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''>".$kurzid."</a>"; 71 75 return 0; … … 73 77 74 78 function kurz_namnr($lang) { 75 // Namensnummer k uerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden79 // Namensnummer kÃŒrzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden 76 80 $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 77 81 $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) … … 89 93 */ 90 94 global $gkz, $idanzeige, $showkey; 95 91 96 // F L U R S T U E C K 92 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, "; 93 $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; 94 $sql.="FROM ax_flurstueck f "; 95 $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 97 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; 98 $sql.="FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=substring(s.gml_id,1,16) "; 96 99 $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 97 $sql.="WHERE v.beziehung_zu= $1 "; // id buchungsstelle 98 $sql.="AND v.beziehungsart='istGebucht' "; 99 $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 100 $sql.="WHERE s.gml_id= $1 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 100 101 101 102 $v = array($gml_bs); … … 116 117 if ($rowf["nenner"] != "") { // Bruchnummer 117 118 $fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT); 118 } */119 119 } 120 */ 120 121 // ohne fuehrende Nullen? 121 122 $fskenn=$rowf["zaehler"]; … … 136 137 echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke 137 138 echo "<span class='wichtig'>".$bvnr."</span>"; // BVNR 138 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle" );}139 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle", "ax_buchungsstelle");} 139 140 echo "</td>"; 140 141 … … 154 155 echo "\n\t<td>".$flur."</td>"; 155 156 echo "\n\t<td><span class='wichtig'>".$fskenn."</span>"; 156 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück" );}157 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück", "ax_flurstueck");} 157 158 echo "</td>"; 158 159 echo "\n\t<td class='fla'>".$flae."</td>"; … … 178 179 // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link 179 180 // Parameter: 180 // $gmlid = ID desGB-Blattes181 // $mitadresse = Option (true/false) ob auchdie Adresszeile ausgegeben werden soll181 // $gmlid = ID GB-Blattes 182 // $mitadresse = Option (true/false) ob die Adresszeile ausgegeben werden soll 182 183 // Return = Anzahl Namensnummern 183 184 184 185 // Schleife 1: N a m e n s n u m m e r 185 // Beziehung: ax_namensnummer >istBestandteilVon>ax_buchungsblatt186 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 186 187 global $debug, $gkz, $idanzeige, $showkey; 187 188 … … 195 196 } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx "; 196 197 197 $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 198 $sqln.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 199 $sqln.="FROM ax_namensnummer n JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 200 $sqln.="WHERE b.beziehung_zu= $1 AND b.beziehungsart='istBestandteilVon' ORDER BY laufendenummernachdin1421;"; 198 $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 "; 199 $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 ORDER BY n.laufendenummernachdin1421;"; 201 200 202 201 $v = array($gmlid); … … 219 218 $namnum=kurz_namnr($rown["lfd"]); 220 219 echo $namnum." "; 221 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer" );}220 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer", "ax_namensnummer");} 222 221 echo "</p>\n\t</td>"; 223 222 … … 247 246 // Beziehung: ax_person <benennt< ax_namensnummer 248 247 $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 249 $sqlp.="FROM ax_person p JOIN a lkis_beziehungen v ON v.beziehung_zu=p.gml_id";250 $sqlp.="WHERE v.beziehung_von= $1 AND v.beziehungsart='benennt';";248 $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=substring(p.gml_id,1,16) WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 249 // Timestamp an ID abschneiden! 251 250 252 251 $v = array($gmlnn); … … 260 259 261 260 $i=0; // cnt Person 262 while($rowp = pg_fetch_array($resp)) { 261 while($rowp = pg_fetch_array($resp)) { // ++ Schleife? nn >benennt> Person ist kein Array! 263 262 $diePerson=""; 264 263 if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} … … 281 280 // Spalte 3 = Link 282 281 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 283 if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person"); echo " ";} 284 if ($showkey) {echo "<span class='key'>(".$eiartkey.")</span> ";} 282 if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person", "ax_person"); echo " ";} 283 if ($showkey AND $eiartkey != '') { // oft leer 284 echo "<span class='key'>(".$eiartkey.")</span> "; 285 } 285 286 echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowp[0]; 286 287 if ($idanzeige) {echo "&id=j";} … … 293 294 // Schleife 3: A d r e s s e (OPTIONAL) 294 295 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 295 $sqla.="FROM ax_anschrift a JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 296 $sqla.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER? 296 $sqla.="FROM ax_anschrift a JOIN ax_person p ON substring(a.gml_id,1,16) = ANY(p.hat) WHERE p.gml_id= $1 ;"; // ORDER? 297 297 $gmlp=$rowp["gml_id"]; // Person 298 298 $v = array($gmlp); … … 332 332 if ($idanzeige) { 333 333 echo "<p class='nwlink noprint'>"; 334 linkgml($gkz, $gmla, "Adresse" );334 linkgml($gkz, $gmla, "Adresse", "ax_adresse"); 335 335 echo "</p>"; 336 336 } else { … … 342 342 pg_free_result($resa); 343 343 } // End if 344 345 344 // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 345 346 346 $i++; // cnt Person 347 347 // als eigene Tab-Zeile? … … 353 353 } 354 354 } // End Loop Person 355 if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, dann kein Fehler355 if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, ist dann kein Fehler 356 356 if ($debug > 0) { 357 357 echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; 358 358 if ($rechtsg != 9999) { 359 echo "\n<p class='dbg'> Keine Person zur Namensnummer ".$namnum."</p>";359 echo "\n<p class='dbg'>Fehler: Keine Person zur Namensnummer ".$namnum."</p>"; 360 360 } 361 //if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1=gml(NamNum)= '".$gmlnn."'</p>";}361 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1 = gml(NamNum) = '".$gmlnn."'</p>";} 362 362 } 363 363 echo "</td>\n\t<td> </td>\n<tr>"; … … 367 367 echo "\n</table>\n"; 368 368 if ($n == 0) { 369 // kommt vor bei "Fiktives Blatt", kein Fehler 369 370 if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 371 370 372 if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 371 373 }
Note: See TracChangeset
for help on using the changeset viewer.