" ."\n\t\n\t"; // Spalte 1: Info Benutzerkennung if ($auth == "mapbender") { $customer=$_SESSION["mb_user_name"]; echo "\n\t\t"; } else { echo "\n\t\t"; } // Spalte 2: Umschalter echo "\n\t\t"; // Spalte 3 echo "\n\t\t" ."\n\t\n\t
Benutzer: ".$customer." "; $mylink ="\n\t\t\tSchlüssel aus"; } else { echo $mylink."&showkey=j' title='Verschlüsselungen anzeigen'>Schlüssel ein"; } // Temporär eine Ansicht ohne Entwicklungsumgebung if ($debug > 0) { echo " | ".$mylink."&nodebug=j' title='Debug-Ausgaben temporär abschalten'>Ansicht ohne Testausgaben"; } echo "\n\t\t" ."\n\t\t\t\n\t\t
" ."\n\n"; // P r i n t - Foot if ($auth == "mapbender") { // $customer=$_SESSION["mb_user_name"]; echo "\n

Mapbender-Benutzer: ".$customer."

"; } return 0; } function ber_bs_zaehl($gmls) { // Berechtigte Buchungs-Stellen zaehlen. // Buchungstelle dienend <(Recht)an< Buchungstelle herrschend $sql ="SELECT count(sh.gml_id) AS anz FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL;"; $v = array($gmls); // GML dienende Buchungs-Stelle $resan = pg_prepare("", $sql); $resan = pg_execute("", $v); if (!$resan) {echo "\n

Fehler bei 'berechtigte Buchungsstellen zaehlen'.

";} $rowan = pg_fetch_assoc($resan); $anz=$rowan["anz"]; pg_free_result($resan); return $anz; // Funktionswert = Anzahl der berechtigten Buchungen } function buchung_anzg($gmlbs, $eig, $jsfenster, $gml_fs) { // In einem FS-Nachw. EINE Buchungsstelle anzeigen. // Parameter: // $gmlbs: GML-ID der anzuzeigenden Buchungs-Stelle // $eig: Eigentümer ausgeben j/n // $jsfenster: Javascript-Funktion zum Verlassen des Feature-Info-Fensters verwenden (bool) // $gml_fs: GML-ID des Flurstücke (nur bei erstem Aufruf in einem FS-Nachweis notwendig) global $gkz, $debug, $showkey, $bartgrp, $barttypgrp, $stufe; $sqlbs="SELECT sh.gml_id AS hgml, sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " // Buchungs-Stelle herrschend ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.v AS bart, a.d AS barttitle, w.v AS blattartv " ."FROM ax_buchungsstelle sh " ."JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " ."LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk " ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " // entschl. Buchungsart ."LEFT JOIN alkis_wertearten w ON b.blattart=w.k AND w.element='ax_buchungsblatt' and w.bezeichnung='blattart' " // entschl. Blatt-Art ."WHERE sh.gml_id= $1 AND sh.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL;"; $v = array($gmlbs); // ID dienende Buchungs-Stelle $resbs = pg_prepare("", $sqlbs); $resbs = pg_execute("", $v); if (!$resbs) { echo "\n

Fehler bei 'Buchungsstelle ausgeben'.

"; if ($debug > 2) {echo "\n

SQL=
".htmlentities($sqlbs, ENT_QUOTES, "UTF-8")."
$1 = gml_id = '".$gmlbs."'

";} } $gezeigt=false; // Funktionswert if ($rowbs = pg_fetch_assoc($resbs)) { // ein Treffer $blattkeyber=$rowbs["blattart"]; // Schluessel von Blatt-Art des GB if ($blattkeyber != '5000' or $debug > 1) { // "Fiktives Blatt" nur bei Entwicklung anzeigen $gezeigt=true; // Funktionswert $hgml=$rowbs["hgml"]; // GML-ID der (herrschenden) BuchungsStelle $bartkey=$rowbs["buchungsart"]; // Buchungsart Schlüssel $beznam=$rowbs["bezeichnung"]; // Bezirk $blattartber=$rowbs["blattartv"]; // Wert von Blatt-Art des GB $nrpl=$rowbs["nrpl"]; // Nr im Auft.plan $sond=$rowbs["sond"]; // Beschr. d.Sondereigentums $gbgml=$rowbs["g_gml"]; // GML-ID des Grundbuch-Blattes $blatt=ltrim($rowbs["blatt"], "0"); $lfd=ltrim($rowbs["lfd"], "0"); if ($bartkey != $bartgrp) { // Wechsel der Buchungsart $bart=$rowbs["bart"]; // Buchungsart Text $barttitle=$rowbs["barttitle"]; // Buchungsart Erklärung switch (true) { // Die Buchungsart einem Typ (Gruppierung) zuweisen case ($bartkey <= 1999): $barttyp = "E"; break; // Eigentum/Grundstück case ($bartkey >= 2000): $barttyp = "R"; break; // Grundstücksgleiches Recht, z.B. 2101 "Erbbaurecht" default: $barttyp = "E"; break; } if ($barttypgrp != $barttyp) { // Wenn der Typ wechselt, neue Überschrift in Tabelle switch ($barttyp) { // Text der Überschrift case "E": if ($eig == 'j') {$h3txt = "Buchung und Eigentum";} else {$h3txt = "Buchung";} break; case "R": $h3txt = "Grundstücksgleiche Rechte"; break; } if ($barttypgrp == "" and $gml_fs != "") { // die erste Überschrift mit ID und Umschalter echo "\n\t\n\t\t\n\t\t\t

".$h3txt."

\n\t\t"; // 1-3 echo "\n\t\t\n\t\t\t\n\t\t"; } else { echo "\n\t\n\t\t\n\t\t\t

".$h3txt."

\n\t\t\n\t\t "; // 1-4 } echo "\n\t"; $barttypgrp = $barttyp; } // +++ mehr Abstand oben zur Zeile in .css, oder farbig hinterlegen? echo "\n\t" // Buchungsart als Zwischenzeile ."\n\t\t Buchungsart:" // 1 ."\n\t\t"; // 2-3 if ($showkey) {echo "(".$bartkey.") ";} echo "".$bart."" ."" ."\n\t\t" // 4 ."\n\t"; $bartgrp=$bartkey; // Gruppe merken } // Ende Wechsel der Buchungsart echo "\n\t" // Tabelle mit 4 Spalten für Buchung und Eigentümer ."\n\t\t Buchung:"; // 1 if ($showkey and $debug > 2) {echo "
Stufe ".$stufe."
".$hgml."
";} echo "\n\t\t"; // 2-3 // innere Tabelle: Rahmen mit GB-Kennz. if ($blattkeyber == 1000) { echo "\n\t\t\t"; } else { echo "\n\t\t\t
"; // dotted } echo "\n\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t"; echo "\n\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t\t" ."\n\t\t\t" ."\n\t\t\t
Bezirk"; if ($showkey) {echo "".$blattkeyber." ";} echo $blattartber."Lfd-Nr
"; if ($showkey) {echo "".$rowbs["bezirk"]."
";} echo $beznam."
".$blatt."".$lfd."
"; if ($rowbs["zaehler"] <> "") { echo "\n\t\t\t

".$rowbs["zaehler"]."/".$rowbs["nenner"]." Anteil am Flurstück

"; } if ($nrpl != "") { echo "\n\t\t\t

Nummer ".$nrpl." im Aufteilungsplan.

"; } if ($sond != "") { echo "\n\t\t\t

Verbunden mit dem Sondereigentum: ".$sond."

"; } echo "\n\t\t"; // 2-3 echo "\n\t\t"; // 4 echo "\n\t\t\t" ."\n\t\t" // 4 ."\n\t"; if ($eig == "j") { if ($jsfenster) {$lnkclass = "imFenster";} else {$lnkclass = "";} $n = eigentuemer($gbgml, true, $lnkclass); // mit Adresse } } } pg_free_result($resbs); return $gezeigt; // true wenn eine Buchung ausgegeben wurde } function ber_bs_anzg($gmls, $eig, $gml_fs) { // In einem FS-Nachw. die berechtigten (herrschenden) Buchungsstellen anzeigen z.B. "Wohnungs-/Teileigentum". // Parameter: // $gmls: GML-ID der dienenden Buchungs-Stelle. Im ersten Durchlauf also, die BS auf der das FS gebucht ist. // $eig: Eigentümer ausgeben j/n global $debug, $stufe; // sh=Buchungstelle herrschend >(Recht)an> sd=Buchungstelle dienend >istBestandteilVon> BLATT -> Bezirk $sql="SELECT sh.gml_id AS hgml, sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart " ."FROM ax_buchungsstelle sh JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " ."WHERE $1 = ANY(sh.an) AND sh.endet IS NULL AND b.endet IS NULL " ."ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, sh.laufendenummer;"; $v = array($gmls); // ID dienende BuchungsStelle $resber = pg_prepare("", $sql); $resber = pg_execute("", $v); if (!$resber) { echo "\n

Fehler bei 'berechtigte Buchungsstellen'.

"; if ($debug > 2) {echo "\n

SQL=
".htmlentities($sql, ENT_QUOTES, "UTF-8")."
$1 = gml_id = '".$gmls."'

";} } $an=0; $verfolg=array(); // Ein (zunächst leeres) Array für weitere GML-IDs anlegen while($rowan = pg_fetch_assoc($resber)) { // Loop durch Result von berechtigte BS $hgml=$rowan["hgml"]; // GML-ID der berechtigten Buchungs-Stelle $gezeigt = buchung_anzg($hgml, $eig, false, $gml_fs); // Die herrschende Buchung anzeigen wenn nicht fiktiv $an++; $weitere=ber_bs_zaehl($hgml); if ($weitere > 0) { // gibt es WEITERE berechtigte Buchungen dazu? // if ($debug > 2) {echo "

Weitere ".$weitere." zu verfolgende Buchungen gefunden. Füge an:
Vorher ".count($verfolg)."

";} $verfolg[] = $hgml; // neuen Wert für weitere Verfolgung in Array anfügen // if ($debug > 2) {echo "

Nachher ".count($verfolg)."

";} // } else { // if ($debug > 2) {echo "

Auf Stufe ".$stufe." untersucht. Keine weitere abhängigen Buchungen zu ".$hgml.".

";} } } pg_free_result($resber); return $verfolg; // weitere zu verfolgende GML-ID zurück geben } function kurz_namnr($lang) { // Namensnummer kürzen. Nicht benötigte Stufen der Dezimalklassifikation abschneiden $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) $kurz=ltrim($kurz, "0"); // fuehr. Nullen $kurz=str_replace(".0",".",$kurz); // fuehr. Null jeder Stufe $kurz=rtrim($kurz); // Leerzeichen hinten // echo "/n

lang='".$lang."'

/n

kurz='".$kurz."'

"; return $kurz; } function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus, $bartkey, $bartstory) { /* Bestandsnachweis - Flurstuecksdaten Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. Die Funktion wird je einmal aufgerufen für die Buchungen direkt auf dem GB (Normalfall). Weiterere Aufrufe ggf. bei Erbbaurecht für die mit "an" verknuepften Buchungsstellen. Table-Tag und Tabellenkopf werden im aufrufenden Programm ausgegeben. */ global $debug, $gkz, $showkey, $filtkreis, $filtgem, $trclass; // $zpaar // F L U R S T U E C K $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche FROM ax_flurstueck f JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer WHERE f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL AND s.gml_id= $1 "; if ($filtgem == '' ) { // ungefiltert $v=array($gml_bs); } else { $sql.="AND f.kreis = $2 AND f.gemeinde = $3 "; // Zuständiges Gebiet $v=array($gml_bs, $filtkreis, $filtgem); } $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; $resf = pg_prepare("", $sql); $resf = pg_execute("", $v); if (!$resf) {echo "\n

Fehler bei Flurstück

";} if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); } else { $bvnr=""; } $altbvnr=""; $j=0; while($rowf = pg_fetch_assoc($resf)) { // $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); $flur= $rowf["flurnummer"]; $fskenn=$rowf["zaehler"]; if ($rowf["nenner"] != "") { // Bruch $fskenn.="/".$rowf["nenner"]; } $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; echo "\n"; // eine Zeile je Flurstueck // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS if($bvnr == $altbvnr) { // gleiches Grundstueck, leer lassen echo "\n\t " ."\n\t " ."\n\t "; } else { // Sprungmarke, BVNR echo "\n\t"; // Sprungmarke // echo "\n\t\t"; echo "".$bvnr."" ."\n\t"; echo "\n\t"; // Buchungsart if ($showkey) {echo "".$bartkey." ";} // Schluessel echo $ba; // entschluesselt echo "" ."\n\t "; // Anteil $altbvnr=$bvnr; } // Sp. 4-7 aus Flurstueck echo "\n\t"; if ($showkey) {echo "".$rowf["gemarkungsnummer"]." ";} echo $rowf["bezeichnung"]."" ."\n\t".$flur."" ."\n\t".$fskenn."" ."" ."\n\t".$flae.""; // "width" hier (flaG) erweiterbar, weil in andere Zeile die Buchungsart steht echo "\n\t\n\t\t" ."\n\t" ."\n"; $j++; } // Ende Loop Flurstueck pg_free_result($resf); return $j; } function eigentuemer($gmlid, $mitadresse, $lnkclass) { // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben // Sp.1="Eigentümer" Sp.2=NamNr, Sp.3=Name/Adresse, Sp.4=Link // Parameter: // $gmlid = ID GB-Blattes // $mitadresse = Option (true/false) ob die Adresszeile ausgegeben werden soll // Return = Anzahl Namensnummern // Schleife 1: N a m e n s n u m m e r // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt global $debug, $gkz, $showkey; if ($lnkclass == "") { $lnkvor = ""; $lnknach = ""; } else { // Link über Java-Class "imFenster" aus alkisinlayausk.php $lnkvor = "javascript:".$lnkclass."(\""; $lnknach = "\")"; } $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, n.benennt, wn.v AS adrv, we.v AS eiartv " ."FROM ax_namensnummer n " ."LEFT JOIN alkis_wertearten wn ON cast(n.artderrechtsgemeinschaft AS character varying)=wn.k AND wn.element='ax_namensnummer' AND wn.bezeichnung='artderrechtsgemeinschaft' " ."LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' " ."WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; // +++ LEFT JOIN bis ax_Person statt Person als Schleife zu holen, // Verknüpfungsfeld "benennt" ist leer bei "Beschrieb der Rechtsgemeinschaft". $v = array($gmlid); // GB-Blatt $resn = pg_prepare("", $sqln); $resn = pg_execute("", $v); if (!$resn) { echo "\n

Fehler bei Eigentümer

"; // kein Fehler bei Blattarten > 1000 //if ($debug > 2) {echo "\n

SQL=
".$sqln."
$1=gml= '".$gmlid."'

";} } $n=0; // Z.NamNum. while($rown = pg_fetch_assoc($resn)) { $gmlnn=$rown["gml_id"]; $namnum=kurz_namnr($rown["lfd"]); $rechtsg=$rown["adr"]; echo "\n\t"; if($n == 0) { // erste Eigentümer-Zeile zu einer Buchung echo "\n\t\t Eigentümer:"; // 1 } else { // Folgezeile echo "\n\t\t "; // 1 } if ($rechtsg != "" ) { // Erbengemeinschaft usw. echo "\n\t\t"; // 2-3 if ($rechtsg == 9999) { // sonstiges echo "\n\t\t\t

".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."

"; } else { echo "\n\t\t\t

".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."

"; } } else { // Namensnummer echo "\n\t\t\n\t\t\t

".$namnum." 

\n\t\t" // 2 . "\n\t\t"; // 3 } //if ($rown["anlass"] > 0 ) {echo "

Anlass=".$rown["anlass"]."

";} // Andere Namensnummern? Relation: ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer // Die Relation 'Namensnummer' besteht aus Rechtsverhältnissen zu 'Namensnummer' sagt aus, dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können. // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. // Schleife 2: P e r s o n // +++ bei SQL Namensnummer oben gleich mit JOIN dazu holen, statt dieser Schleife // Beziehung: ax_person Fehler bei Person

"; if ($debug > 2) {echo "\n

SQL=
".$sqlp."
$1=gml= '".$gmlpers."'

";} } $i=0; // cnt Person while($rowp = pg_fetch_assoc($resp)) { // Schleife weglassen: "benennt" ist KEIN Array! $diePerson=""; //++ Anrede? if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} $diePerson.=$rowp["nachnameoderfirma"]; if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];} if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];} if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];} if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];} $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute $eiartkey=$rown["eigentuemerart"]; // Key $eiart=$rown["eiartv"]; // Value echo "\n\t\t\t

".$diePerson."

\n\t\t"; // 3 - Person in Sp.3 hinter NamNum (Sp.2) echo "\n\t\t\n\t\t\t" ."\n\t\t" // 4 ."\n\t"; if ($mitadresse) { // Schleife 3: optional A d r e s s e zur Person $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " ."FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL ORDER BY a.beginnt DESC LIMIT 2;"; $v = array($gmlpers); $resa = pg_prepare("", $sqla); $resa = pg_execute("", $v); if (!$resa) { echo "\n\t

Fehler bei Adressen

"; if ($debug > 2) {echo "\n

SQL=
".$sqla."
$1=gml= '".$gmlpers."'

";} } $j=0; while($rowa = pg_fetch_assoc($resa)) { $j++; if ($j == 1) { // erste ("jüngste") Adresse anzeigen $gmla=$rowa["gml_id"]; $plz=$rowa["plz"]; // integer if($plz == 0) { $plz=""; } else { $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); } $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); $hsnr=$rowa["hausnummer"]; $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); echo "\n\t" ."\n\t\t " // 1 ."\n\t\t " // 2 ."\n\t\t

"; // 3 if ($str.$hsnr != "") {echo $str." ".$hsnr."
";} if ($plz.$ort != "") {echo $plz." ".$ort;} if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} echo "

" // 3 ."\n\t\t \n\t"; // 4 } else { // manchmal doppelte Angaben echo "\n\t" ."\n\t\t " // 1 ."\n\t\t " // 2 ."\n\t\t

weitere Adresse

" // 3 ."\n\t\t \n\t"; // 4 } } // Ende Loop Adresse zur Person pg_free_result($resa); } // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" $i++; // cnt Person $zaehler=$rown["zaehler"]; if ($zaehler != "") { // Anteil als eigene Tab-Zeile $zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht $nenner=str_replace(".", ",", $rown["nenner"]); $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundstück oder Recht)."; echo "\n\t" ."\n\t\t " // 1 ."\n\t\t " // 2 ."\n\t\t

".$zaehler."/".$nenner." Anteil

" // 3 ."\n\t\t \n\t"; // 4 } } // End Loop Person pg_free_result($resp); if ($i == 0) { // KEINE Person. benennt ist leer. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler if ($rechtsg == 9999) { if ($debug > 1) {echo "\n\t\t\t

Rechtsgemeinschaft = '".$rechtsg."'

";} } else { echo "\n

(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand)

"; } echo "\n\t\t \n\t"; } $n++; // cnt NamNum } // End Loop NamNum pg_free_result($resn); return $n; } // End function eigentuemer function werteliste ($element, $bezeichnung ,$sqlin) { // Eine oder mehrere Entschlüsselungen aus "alkis_wertearten" in eine Zeile ausgeben. // Dient dazu, Schlüssel-ARRAYs auflösen ohne die Zeile mehrfach aufzulisten (JOIN) // Anwendung: FS-Nachweis Bodenschätzung "Klimastufe + Wasserverhältnisse" global $debug; $sql="SELECT k, v FROM alkis_wertearten WHERE element = $1 AND bezeichnung = $2 AND k IN (".$sqlin.") ORDER BY k;"; $v = array($element, $bezeichnung); $res = pg_prepare("", $sql); $res = pg_execute("", $v); if (!$res) { echo "\n

Fehler bei Werteliste aus alkis_wertearten.

"; if ($debug > 2) {echo "\n

SQL=
".htmlentities($sql, ENT_QUOTES, "UTF-8")."
$1 = '".$sqlin."'

";} return; } $i=0; while($row = pg_fetch_assoc($res)) { echo " ".$row["v"]; $i++; } pg_free_result($res); if ($i == 0 ) {echo "(kein Treffer)";} return; } ?>