Fehler! Kein Treffer für Grundstückskennzeichen='".$gskennz."'

\n\n"; return ""; } pg_free_result($resgs); return $gmlid; } function bs_dienend($gmlid_h) { // Eine ggf. vorhandene dienende Buchungsstelle suchen und dessen GML_ID liefern. global $debug, $gerooted; // BS-herrschend (bekannt) >an[]> BS-dienend (gesucht) $sqld="SELECT d.gml_id FROM ax_buchungsstelle d JOIN ax_buchungsstelle h ON d.gml_id=any(h.an) " ."WHERE h.gml_id = $1 and d.endet IS NULL AND h.endet IS NULL"; $v=array($gmlid_h); $resd=pg_prepare("", $sqld); $resd=pg_execute("", $v); $cntd=0; while($rowd=pg_fetch_assoc($resd)) { $cntd++; $gmlid_d=$rowd["gml_id"]; } if ($cntd === 0) { // KEINE dienende BS $gmlid_d=""; } elseif ($cntd > 1) { // Problem: mehrere dienende BS $gmlid_d=""; // wennn mehrere (.an=Array[]), dann nicht eindeutig rückführbar. $gerooted=false; // Root nicht erreicht if ($debug > 2 ) { // Meldung? Auswahl? echo "\n

Mehrere 'diendende' Buchungen zur Buchung '".$gmlid_h."'

"; } } pg_free_result($resd); return $gmlid_d; } function Back2theRoots($gmlid_h) { // Eine Buchungsstelle (aus dem Aufruf-Parameter) zurück führen auf die Basis-Buchungsstelle // Suchen bis Buchungsart="Grundstück" oder ggf. Blattart="fiktives Blatt" global $debug; $gh=$gmlid_h; // herrschend $gd=$gh; // dienend $gr=$gd; // root while($gd != "") { $gr=$gd; // sichern $gd=bs_dienend($gh); // an? $gh=$gd; // fuer weitere Loop } return $gr; } // H i e r S t a r t ini_set("session.cookie_httponly", 1); session_start(); $showkey="n"; $nodebug=""; $cntget=extract($_GET); // Parameter in Variable // Validierung if (isset($gmlid)) { // gml der Buchungsstelle (Aufruf) if (!preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} $gskennz=''; } else { // Alternativ $gmlid=''; if (isset($gskennz)) { // llgggg-bbbbbz-nnnn if (!preg_match('#^[0-9\-_/]{8,18}$#', $gskennz)) {die ("Eingabefehler gskennz");} } else { $gskennz=''; die("Fehlender Parameter"); } } if (isset($gkz)) { if (!preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} } else { die("Fehlender Parameter"); } if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} if ($showkey === "j") {$showkey=true;} else {$showkey=false;} if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} include "alkis_conf_location.php"; include "alkisfkt.php"; ?> ALKIS Grundstücksnachweis Abbruch

'); } if ($nodebug === "j") {$debug=0;} $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisgsnw.php'"); if (!$con) echo "\n

Fehler beim Verbinden der DB

"; $gmlid_p=$gmlid; // Wert aus Parameter merken $gerooted=true; // Auskunft beginnt mit dienendem Grundstück $gmlid=get_GS_Daten($gmlid, $gskennz); // nachschauen $gml_anfrd=$gmlid; // ursprüngliche Anforderung aus URL merken if ($gmlid == "") { // nix gefunden die("Kein Treffer"); } else { // Treffer if ($gsbart != "1100") { // Buchungsart "Grundstück" $gmlid_r=Back2theRoots($gmlid); if ($gmlid_r != $gmlid) { // wurde hoch gerückt $gmlid=get_GS_Daten($gmlid_r, ""); // damit weiter arbeiten } } } echo "

ALKIS Grundstück ".$gsbez."-".rtrim($gsblatt)."-".$gslfdnr." 

\n\n

Grundstück

"; // Balken if ($gerooted) { // F l u r s t u e c k e echo "\n

Flurstücke

" ."\n"; echo "\n" // Kopfzeile ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n"; //++ Lage oder Nutzung zum FS in eine zus. Spalte oder Zeile? //++ Tabelle hat noch Platz, SQL in der Loop oder Subquery wäre möglich, weil i.d.R. nur wenige FS je GS gebucht sind. $sqlfs="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer WHERE f.istgebucht = $1 AND f.endet IS NULL AND g.endet IS NULL "; if ($filtgem === '' ) { // ungefiltert $v=array($gmlid); } else { $sqlfs.="AND f.gemeindezugehoerigkeit_kreis = $2 AND f.gemeindezugehoerigkeit_gemeinde = $3 "; // Zuständiges Gebiet $v=array($gmlid, $filtkreis, $filtgem); } $sqlfs.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; $resfs = pg_prepare("", $sqlfs); $resfs = pg_execute("", $v); if (!$resfs) {echo "\n

Fehler bei Flurstück

";} $j=0; $zpaar=false; while($rowfs = pg_fetch_assoc($resfs)) { $flur= $rowfs["flurnummer"]; $fskenn=$rowfs["zaehler"]; if ($rowfs["nenner"] != "") {$fskenn.="/".$rowfs["nenner"];} $flae=number_format($rowfs["amtlicheflaeche"],0,",",".") . " m²"; if ($zpaar) {$trclass='paa';} else {$trclass='unp';} // Farbwechsel $zpaar=!$zpaar; echo "\n"; // eine Zeile je Flurstueck echo "\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n"; $j++; } pg_free_result($resfs); if ($j === 0) {echo "\n\n\t\n";} echo "\n
GemarkungFlurFlurst.Fläche
"; if ($showkey) {echo "".$rowfs["gemarkungsnummer"]." ";} echo $rowfs["bezeichnung"] ."".$flur."".$fskenn."".$flae."\n\t\t" ."\n\t

Keine Flurstücke im berechtigten Bereich.

"; } else { // konnte nicht bis zur Basis aufsteigen echo "

Die angeforderte Buchung hat Rechte an mehreren anderen Buchungen." ."
Für die Anzeige der Flurstücke muss eine dieser Buchungen (Grundstück) gewählt werden.

"; // Auswahl anbieten? Sonst über den Link "Bestand" recherchieren. } // Rechte anderer GS an diesem GS // Dieser Teil ist fast identisch mit "Flurstücksnachweis", Kommentare siehe dort. $bartgrp=""; $barttypgrp=""; echo "\n"; $stufe=1; $gezeigt = buchung_anzg($gmlid, "j", false, "", 2); $anzber=ber_bs_zaehl($gmlid); $verf_next = array($gmlid); while ($anzber > 0 ) { $verf_akt=$verf_next; $verf_next=array(); $stufe++; $i=0; foreach($verf_akt as $gml_ber_bs) { $i++; if (ber_bs_zaehl($gml_ber_bs) > 0) { $verf_neu=ber_bs_anzg($gml_ber_bs, "j", false, "", $gml_anfrd); $anz_neu=count($verf_neu); if ($anz_neu > 0) { $verf_next=array_merge($verf_next, $verf_neu); } } } $anzber=count($verf_next); } echo "\n
\n\n"; //if ($debug > 1) {echo "

Buchung gezeigt = ".$gezeigt."

";} pg_close($con); echo <<
zurück  Drucken  END; if ($stufe < 3) { echo "\n\tExport"; } else { // Export CSV wäre unvollständig bei Buchungen auf mehr als 2 Ebenen. 2 Ebenen werden im View über UNION und einem Zweig mit 2x "an"-Relation abgefangen. echo "\n\tExport"; } echo " \n"; footer($gmlid, selbstverlinkung()."?", ""); ?>