Changeset 123 for trunk/var/www/info/alkis/alkisfkt.php
- Timestamp:
- 11/04/11 13:46:52 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/var/www/info/alkis/alkisfkt.php
r78 r123 10 10 17.12.2010 Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 11 11 01.02.2011 *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 12 02.11.2011 Parameter debug in function eigentuemer 12 13 */ 13 14 … … 203 204 } 204 205 205 function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse, $showkey ) {206 function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse, $showkey, $debug) { 206 207 // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben 207 208 // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link … … 214 215 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 215 216 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;"; 223 226 224 227 $v = array($gmlid); 225 $resn = pg_prepare("", $sql );228 $resn = pg_prepare("", $sqln); 226 229 $resn = pg_execute("", $v); 227 230 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ümer</p>\n"; 233 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 234 } 229 235 230 236 //echo "<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle … … 250 256 } else { 251 257 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 geschlossen253 // echo "\n\t</td>\n</tr>"; // !!! IMMER? oder nur wenn letzte Zeile?254 258 } 255 259 } 256 260 //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>";259 261 260 262 // Schleife Ebene 2: andere Namensnummern … … 271 273 // Schleife 2: P e r s o n 272 274 // 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';"; 276 278 277 279 $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)) { 286 290 $diePerson=""; 287 if ($row e["akademischergrad"] <> "") {$diePerson=$rowe["akademischergrad"]." ";}288 $diePerson.=$row e["nachnameoderfirma"];289 if ($row e["vorname"] <> "") {$diePerson.=", ".$rowe["vorname"];}290 if ($row e["namensbestandteil"] <> "") {$diePerson.=". ".$rowe["namensbestandteil"];}291 if ($row e["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowe["geburtsdatum"];}292 if ($row e["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"];} 293 297 $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 294 298 … … 303 307 // Spalte 3 = Link 304 308 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 305 if ($idanzeige) {linkgml($gkz, $row e["gml_id"], "Person"); echo " ";}306 echo "\n\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&gmlid=".$row e[0];309 if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person"); echo " ";} 310 echo "\n\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowp[0]; 307 311 if ($idanzeige) {echo "&id=j";} 308 312 if ($showkey) {echo "&showkey=j";} … … 313 317 if ($mitadresse) { 314 318 // 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); 322 327 $resa = pg_execute("", $v); 323 328 324 329 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>";} 326 332 } 333 327 334 $j=0; 328 //echo "\n<!-- vor Schleife 3 Adresse -->";329 335 while($rowa = pg_fetch_array($resa)) { 330 336 $gmla=$rowa["gml_id"]; … … 363 369 $j++; 364 370 } 365 //echo "\n<!-- nach Schleife 3 Adresse -->"; 366 } // if 371 } // End if 367 372 // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 368 $i++; // Z. Person 369 373 $i++; // cnt Person 370 374 // 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). 373 376 if ($rown["zaehler"] != "") { 374 377 echo "\n<tr>\n\t<td> </td>"; // Sp. 1 … … 376 379 echo "\n\t<td> </td>\n</tr>"; // Sp. 3 377 380 } 378 } 379 //echo "\n<!-- nach Schleife 2 Person -->"; 380 381 } // End Loop Person 381 382 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."' -->"; 383 390 // Wann warnen? 384 //if ($rechtsg != 9999) {385 // Art der Rechtsgemeinsachft, 0Eigent. ist Normal bei Sondereigentum386 387 388 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ümer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>"; 396 // } 390 397 echo "</td>\n\t<td> </td>\n<tr>"; 391 398 } 392 399 $n++; // cnt NamNum 393 400 } // End Loop NamNum 394 //echo "\n<!-- nach Schleife 1 Namensnummer -->";395 401 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 } 396 410 return $n; 397 411 } // End Function eigentuemer … … 402 416 function anrede($key) { 403 417 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; 416 422 } 417 423 return $wert; … … 421 427 function rechtsgemeinschaft($key) { 422 428 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; 439 434 } 440 435 return $wert; … … 444 439 function eigentuemerart($key) { 445 440 switch ($key) { 446 case 1000: 447 $wert = "Natürliche Person"; 448 break; 449 case 2000: 450 $wert = "Juristische Person"; 451 break; 452 case 3000: 453 $wert = "Körperschaft"; 454 break; 455 case "": // falls (noch) nicht gefuellt 456 $wert = "Person"; 457 break; 458 default: 459 $wert = "** Unbekannte Eigentümerart '".$key."' **";; 460 break; 441 case 1000: $wert = "Natürliche Person"; break; 442 case 2000: $wert = "Juristische Person"; break; 443 case 3000: $wert = "Körperschaft"; break; 444 case "": $wert = "Person"; break; // falls (noch) nicht gefuellt 445 default: $wert = "** Unbekannte Eigentümerart '".$key."' **"; break; 461 446 } 462 447 return $wert; … … 465 450 function blattart($key) { 466 451 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; 488 463 } 489 464 return $wert; … … 492 467 function dienststellenart($key) { 493 468 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ö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 = "ÖbVI"; 532 break; 533 case 2400: 534 $wert = "Bundeseisenbahnvermö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ö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 = "ÖbVI"; break; 482 case 2400: $wert = "Bundeseisenbahnvermögen"; break; 483 case 2500: $wert = "Landwirtschaftskammer"; break; 484 default: $wert = "** Unbekannter Wert '".$key."'"; break; 542 485 } 543 486 return $wert;
Note: See TracChangeset
for help on using the changeset viewer.