Index: trunk/var/www/info/alkis/alkisbestnw.php
===================================================================
--- trunk/var/www/info/alkis/alkisbestnw.php	(revision 78)
+++ trunk/var/www/info/alkis/alkisbestnw.php	(revision 81)
@@ -12,4 +12,5 @@
 	26.01.2011  Space in leere td
 	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
+	07.02.2011  ggf. vereinfachte Kopfzeile "Flurstuecke" nach Vorpruefung "Rechte"	
 	ToDo:
 	Zahler fuer Anzahl GB und FS in der Liste (ausgeben wenn > 10)
@@ -19,6 +20,5 @@
 $gkz=urldecode($_REQUEST["gkz"]);
 require_once("alkis_conf_location.php");
-if ($auth == "mapbender") {
-	// Bindung an Mapbender-Authentifizierung
+if ($auth == "mapbender") { // Bindung an Mapbender-Authentifizierung
 	require_once($mapbender);
 }
@@ -81,12 +81,7 @@
 	$blattkey=$row["blattart"]; // Schluessel
 	$blattart=blattart($blattkey);
-
-	// Balken
-	echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n";
-
+	echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n"; // Balken
 	echo "\n<h2><img src='ico/Grundbuch.ico' width='16' height='16' alt=''> Grundbuch</h2>";
-
-	// Kennzeichen im Rahmen
-	echo "\n<table class='outer'>\n<tr>\n\t<td>";
+	echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Kennzeichen im Rahmen
 		if ($blattkey == 1000) {
 			echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
@@ -122,8 +117,5 @@
 } else { // E I G E N T U E M E R
 	echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
-
-	// HIER MIT Adressen.
-	// Im offiziellen ALKIS-Buchnachweis hier ohne Adressen.
-	// Weglassen damit es uebersichtlicher wird?
+	// MIT Adressen. Im offiziellen ALKIS-Buchnachweis hier ohne Adressen.
 	$n = eigentuemer($con, $gkz, $idanzeige, $gmlid, true);
 
@@ -135,20 +127,42 @@
 }
 
-echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>";
-echo "\n<table class='fs'>";
-
-// 2 Kopfzeilen der Tabelle
+// Vorab pruefen, ob Sonderfall "Rechte an .." vorliegt.
+if ($blattkey == 1000) { // Grundbuchblatt
+	$sql ="SELECT count(z.laufendenummer) AS anzahl ";
+	$sql.="FROM alkis_beziehungen v ";
+	$sql.="JOIN ax_buchungsstelle s ON v.beziehung_von=s.gml_id "; // Blatt
+	$sql.="JOIN alkis_beziehungen x ON x.beziehung_von=s.gml_id "; 
+	$sql.="JOIN ax_buchungsstelle z ON x.beziehung_zu=z.gml_id "; // andere B-Stelle
+	$sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' AND (x.beziehungsart='an' OR x.beziehungsart='zu');";
+	$v=array($gmlid);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) echo "<p class='err'>Fehler bei Suche nach Buchungen.</p>\n";
+	$row=pg_fetch_array($res);
+	$anz=$row["anzahl"];
+	//echo "<p>Zeilen : ".$anz." zu Blattart ".$blattkey."</p>";
+} else { // 2000: Katasterblatt, 3000: Pseudoblatt, 5000: Fiktives Blatt
+	$anz=0;
+}
+if ($anz > 0) {
+	echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>";
+	echo "\n<table class='fs'>";
+	echo "\n<tr>"; // 2 Kopfzeilen
+		echo "\n\t<td>&nbsp;</td>";
+		echo "\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>";
+		echo "\n\t<td>&nbsp;</td>";
+		echo "\n\t<td class='dien'>Bezirk</td>";
+		echo "\n\t<td class='dien'>Blatt</td>";
+		echo "\n\t<td class='dien'>BVNR</td>";
+		echo "\n\t<td class='dien' title='dienendes Grundst&uuml;ck'>Buchungsart</td>";
+		echo "\n\t<td>&nbsp;</td>";
+	echo "\n</tr>";
+} else {
+	echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>";
+	echo "\n<table class='fs'>";
+}
+
 echo "\n<tr>";
-	echo "\n\t<td title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span></td>";
-	echo "\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>";
-	echo "\n\t<td>&nbsp;</td>";
-	echo "\n\t<td class='dien'>Bezirk</td>";
-	echo "\n\t<td class='dien'>Blatt</td>";
-	echo "\n\t<td class='dien'>BVNR</td>";
-	echo "\n\t<td class='dien' title='dienendes Grundst&uuml;ck'>Buchungsart</td>";
-	echo "\n\t<td>&nbsp;</td>";
-echo "\n</tr>";
-echo "\n<tr>";
-	echo "\n\t<td class='head'>&nbsp;</td>";
+	echo "\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span></td>";
 	echo "\n\t<td class='head'>Buchungsart</td>";
 	echo "\n\t<td class='head'>Anteil</td>";
@@ -161,5 +175,5 @@
 
 // Blatt ->  B u c h u n g s s t e l l e
-// ax_buchungsblatt   <istBestandteilVon<  ax_buchungsstelle 
+// ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle 
 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, ";
 $sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner as bart ";
@@ -187,5 +201,4 @@
 		$anteil = $row["zaehler"]."/".$row["nenner"];
 	}
-
 	// F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle
    $j = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, true, $showkey); // return = Anzahl der FS
@@ -250,5 +263,4 @@
 			// G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle
 			echo "\n<tr>";
-
 				echo"\n\t<td>";
 					if($bvnr == $altbvnr) {	// gleiches Grundstueck
@@ -261,5 +273,4 @@
 					}
 				echo "</td>";
-
 				echo "\n\t<td class='dien'>"; // Sp.2 Buchung
 					if ($showkey) {
@@ -267,7 +278,5 @@
 					}
 				echo $ba." an</td>";
-
 				echo "\n\t<td>".$anteil."</td>"; // Sp.3 Anteil
-
 				echo "\n\t<td class='dien'>"; // Sp.4 Gemarkg. hier Bezirk
 					if ($showkey) {
@@ -276,5 +285,4 @@
 					echo $beznam;
 				echo "</td>"; // Sp.4 hier Bezirk
-
 				echo "\n\t<td class='dien'>"; // Sp. 5 Blatt
 					echo $fbblatt; // Sp.6 BVNR
@@ -283,5 +291,4 @@
 					}
 				echo "</td>";
-
 				echo "\n\t<td class='dien'>"; // BVNR
 					echo str_pad($lfdnran, 4, "0", STR_PAD_LEFT);
@@ -291,5 +298,4 @@
 
 				echo "</td>"; 
-
 				echo "\n\t<td class='dien'>"; // Sp.7 Buchungsart
 					if ($showkey) {
@@ -298,5 +304,4 @@
 					echo $baan." ";
 				echo "</td>";
-
 				echo "\n\t<td>";  // Sp.8 Link ("an" oder "zu" ?)
 					echo "<p class='nwlink'>".$rowan["beziehungsart"];
@@ -309,12 +314,9 @@
 					echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a></p>";
 				echo "</td>";
-
 			echo "\n</tr>"; 
 
 			// F l u r s t u e c k s d a t e n  zur  a n d e r e n  Buchungsstelle
-		//	$aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, $baan, $anteil, false);
 			// Buchungsart wird nur in erster Zeile ausgegeben, hier leer
 		   $aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, "", $anteil, false); // return = Anzahl der FS
-
 			// +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt??
 			if ($rowan["nrap"] != "") {
@@ -328,22 +330,5 @@
 				echo "\n</tr>";
 			}
-
 			$a++;
-			/*	Zeile ganz raus
-			if ($aj == 0) { // KEINE Flurstuecke gefunden
-				echo "\n<tr>"; // die Buchung ausgeben, auch ohne Flurstuecke
-					echo"\n\t<td></td>";
-					echo "\n\t<td>"; // Sp.2 Buchung
-						if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span> ";}
-						echo $baan;
-					echo "</td>"; 
-					echo "\n\t<td></td>";
-					echo "\n\t<td colspan=4>"; // Gemarkg, Flur, Flurst, Flaeche
-						echo "<p class='warn'>(keine Flurst&uuml;cke)";
-					echo "</td>";
-					echo "\n\t<td></td>";
-				echo "\n</tr>";
-			} 
-			*/
 		}
 		if ($a == 0) {
@@ -361,13 +346,10 @@
 	}
 	$i++; 
-
-	// Nummer im Aufteilungsplan
-	if ($row["nrap"] != "") {
+	if ($row["nrap"] != "") { // Nummer im Aufteilungsplan
 		echo "\n<tr>";
 			echo "\n\t<td class='nrap' colspan=8>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td>";
 		echo "\n</tr>";
 	}
-	// Sondereigentumsbeschreibung
-	if ($row["sond"] != "") {
+	if ($row["sond"] != "") { // Sondereigentumsbeschreibung
 		echo "\n<tr>";
 			echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>";
@@ -375,5 +357,4 @@
 	}
 } // Ende Buchungsstelle
-
 echo "\n</table>";
 
@@ -382,5 +363,4 @@
 	linkgml($gkz, $gmlid, "Buchungsblatt");
 }
-
 	// b e r e c h t i g t e  Grundbuecher (Buchungsblatt) 
 	// mit Recht "an"/"zu" dem aktuellen fiktiven GB
@@ -391,14 +371,10 @@
 	$sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, ";
 	$sql.="vs.beziehungsart, ";
-
 	$sql.="sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, ";  // berechtigte Buchungsstelle
-
-	$sql.=" bz.bezeichnung AS beznam, "; // Bezirk
-	$sql.=" ag.bezeichnung, ag.stelle, ag.stellenart "; // Amtsgericht
-
-	$sql.="FROM alkis_beziehungen vf ";											// Verbindung fiktiv
+	$sql.=" bz.bezeichnung AS beznam, ag.bezeichnung, ag.stelle, ag.stellenart "; // Bezirk, Amtsgericht
+	$sql.="FROM alkis_beziehungen vf ";	// Verbindung fiktiv
 	$sql.="JOIN ax_buchungsstelle sf ON sf.gml_id = vf.beziehung_von ";	// Stelle fiktiv
 	$sql.="JOIN alkis_beziehungen vs ON sf.gml_id = vs.beziehung_zu ";	// Verbindung Stellen
-	$sql.="JOIN ax_buchungsstelle sb ON sb.gml_id = vs.beziehung_von "; // Stelle berechtigt
+	$sql.="JOIN ax_buchungsstelle sb ON sb.gml_id = vs.beziehung_von ";	// Stelle berechtigt
 	$sql.="JOIN alkis_beziehungen vb ON sb.gml_id = vb.beziehung_von ";	// Verbindung berechtigt
 	$sql.="JOIN ax_buchungsblatt  bb ON bb.gml_id = vb.beziehung_zu ";	// Blatt berechtigt
@@ -415,18 +391,13 @@
 	$resb = pg_prepare("", $sql);
 	$resb = pg_execute("", $v);
-
 	if (!$resb) {
 		echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter:'<br>".$sql."</p>\n";
 	}
-
 	$b=0; // count: Blaetter
 	while($rowb = pg_fetch_array($resb)) {
 		if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde
-
 			echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n";
-
-			// Tabelle Kopf ausgeben
 			echo "\n<table class='outer'>";
-			echo "\n<tr>";
+			echo "\n<tr>"; // Tabelle Kopf
 				echo "\n\t<td class='head'>Land</td>";
 				echo "\n\t<td class='head'>Dienststelle</td>";
@@ -438,10 +409,9 @@
 			echo "\n</tr>";
 		}
-
-		$gml_b=$rowb["gml_id"];			// id des berechtigten Blattes
-		$gml_s=$rowb["gml_s"];			// id der berechtigten Buchungsstelle
+		$gml_b=$rowb["gml_id"];		// id des berechtigten Blattes
+		$gml_s=$rowb["gml_s"];		// id der berechtigten Buchungsstelle
 		$blart=$rowb["blattart"];
-		$buch=$rowb["buchungsart"];	// Buchungsart Stelle berechtigt
-		$bart=$rowb["bart"];				// Buchungsart entschluesselt
+		$buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt
+		$bart=$rowb["bart"];			// Buchungsart entschluesselt
 		$lfdnr=$rowb["lfdnr"];
 		$bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
@@ -449,5 +419,4 @@
 		echo "\n<tr>";
 			echo "\n\t<td>".$rowb["land"]."</td>";
-
 			echo "\n\t<td>"; // Amtsgericht
 				echo dienststellenart($rowb["stellenart"])." ";
@@ -457,5 +426,4 @@
 				echo $rowb["bezeichnung"];
 			echo "</td>";
-
 			echo "\n\t<td>";
 				if ($showkey) {
@@ -464,13 +432,10 @@
 				echo $rowb["beznam"];
 			echo "</td>";
-
 			echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>";
 				if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt");}
 			echo "</td>";
-
 			echo "\n\t<td>".$bvnr;
 				if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle");}
 			echo "</td>";
-
 			echo "\n\t<td>";
 				if ($showkey) {
@@ -479,5 +444,4 @@
 				echo $bart;
 			echo "</td>";
-
 			echo "\n\t<td>";
 				echo "\n\t\t<p class='nwlink'>";
@@ -494,5 +458,4 @@
 		$b++;
 	}
-
 	if ($b == 0) {
 		if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000
Index: trunk/var/www/info/alkis/alkisgebaeudenw.php
===================================================================
--- trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 78)
+++ trunk/var/www/info/alkis/alkisgebaeudenw.php	(revision 81)
@@ -14,4 +14,5 @@
 
 	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
+	07.02.2011 
 	ToDo: lfd.Nr. der NebengebÃ€ude alternativ zur Hausnummer anzeigen.
 		Dazu aber Join auf ax_lagebezeichnungmitpseudonummer notwendig.
@@ -107,5 +108,5 @@
 				echo "<span class='key'>".$gmkgnr."</span><br>";
 			}
-			echo $gemkname."</td>";
+			echo $gemkname."&nbsp;</td>";
 			echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
 			echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>";
@@ -176,7 +177,4 @@
 
 $sqlg.="ORDER BY schnittflae DESC;";
- 
-// ax_gebaeude  (zeigtAuf) ax_LagebezeichnungMitHausnummer    (HauptgebÃ€ude)
-// ax_gebaeude  (hat)      ax_LagebezeichnungMitPseudonummer  (NebengebÃ€ude)
 
 $v = array($gmlid);
@@ -188,5 +186,4 @@
 	echo "\n<p class='err'>".$sqlg."</p>\n";
 }
-
 $gebnr=0;
 echo "\n<hr>\n<table class='geb'>";
@@ -262,10 +259,10 @@
 						echo "\n\t\t<a title='Lagebezeichnung' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag;
 						if ($idanzeige) {echo "&amp;id=j";}
-						echo "&amp;ltyp=p'>lfd-Nr</a>";
+						echo "&amp;ltyp=p'>lfd-Nr <img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>";
 						break;
 					case "zeigtAuf":	// *M*it HausNr
 						echo "\n\t\t<a title='Lagebezeichnung' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag;
 						if ($idanzeige) {echo "&amp;id=j";}
-						echo "&amp;ltyp=m'>Haus-Nr</a>";
+						echo "&amp;ltyp=m'>Haus-Nr <img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>";
 						break;
 					default:
Index: trunk/var/www/info/alkis/alkislage.php
===================================================================
--- trunk/var/www/info/alkis/alkislage.php	(revision 78)
+++ trunk/var/www/info/alkis/alkislage.php	(revision 81)
@@ -11,4 +11,6 @@
 	17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
 	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
+	07.02.2011  JOIN ax_gemeinde auch ueber regierungsbezirk
+	ToDo: Entschluesseln Kreis usw.
 */
 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
@@ -72,5 +74,5 @@
 
 // Lagebezeichnung
-$sql ="SELECT s.bezeichnung AS snam, g.bezeichnung AS gnam, l.land, l.regierungsbezirk, l.kreis, l.gemeinde, l.lage, ";
+$sql ="SELECT s.bezeichnung AS snam, k.bezeichnung AS knam, g.bezeichnung AS gnam, l.land, l.regierungsbezirk, l.kreis, l.gemeinde, l.lage, ";
 switch ($ltyp) {
 	case "m": // "Mit HsNr"
@@ -85,12 +87,9 @@
 }
 $sql.="FROM ".$tnam." l ";
-
-// Gemeinde entschluesseln
-$sql.="LEFT JOIN  ax_gemeinde g ON l.kreis=g.kreis AND l.gemeinde=g.gemeinde ";
-
-// Strasse entschluesseln
+// Gemeinde, Kreis, Strasse entschluesseln
+$sql.="LEFT JOIN ax_gemeinde g ON l.land=g.land AND l.regierungsbezirk=g.regierungsbezirk AND l.kreis=g.kreis AND l.gemeinde=g.gemeinde ";
+$sql.="LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis ";
 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ";
 // Besonderheit: unterschiedliche Feldformate und Fuellungen!!!
-
 switch ($ltyp) {
 	case "o": //"Ohne HsNr"
@@ -98,5 +97,5 @@
 		//  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen
 		//  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen
-		$sql.="ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=trim(leading '0' from s.lage) ";
+		$sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=trim(leading '0' from s.lage) ";
 	break;
 	default: // "Mit HsNr" + "mit PseudoNr"
@@ -104,5 +103,5 @@
 		// ax_LagebezeichnungMitHausnummer.lage    ist integer,
 		// ax_lagebezeichnungMitPseudonummer.lage  ist integer,
-		$sql.="ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";
+		$sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";
 	break;
 }
@@ -119,4 +118,5 @@
 	$regbez=$row["regierungsbezirk"];
 	$kreis=$row["kreis"];
+	$knam=$row["knam"];
 	$gem  =$row["gemeinde"];
 	$gnam =$row["gnam"];
@@ -125,7 +125,5 @@
 	$unver=$row["unverschluesselt"]; // Gewanne
 	$kennz=$land."-".$regbez."-".$kreis."-".$gem."-".$lage."-";
-
 	switch ($ltyp) {
-
 		case "m": // "Mit HsNr"
 			$hsnr=$row["hausnummer"];
@@ -135,5 +133,4 @@
 			echo "<p class='lage'>ALKIS Lagebezeichnung mit Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken
 		break;
-
 		case "p": // "mit PseudoNr"
 			$pseu=$row["pseudonummer"];
@@ -141,9 +138,6 @@
 			$kennz.=$pseu."-".$lfd;
 			$untertitel="NebengebÃ€ude mit laufender Nummer (Lagebezeichnung mit Pseudonummer)";
-			// Balken
-		//	echo "<p class='lage'>ALKIS Lagebezeichnung mit Pseudonummer ".$kennz."&nbsp;</p>\n"; // Balken
 			echo "<p class='lage'>ALKIS Lagebezeichnung NebengebÃ€ude ".$kennz."&nbsp;</p>\n"; // Balken
 		break;
-
 		case "o": //"Ohne HsNr"
 			if ($lage == "") {
@@ -153,9 +147,7 @@
 			}
 			$untertitel="Stra&szlig;e ohne Hausnummer und/oder Gewanne (unverschl&uuml;sselte Lage)";
-			// Balken
 			echo "<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken
 		break;
 	}
-
 } else {
 	echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>";
@@ -166,6 +158,5 @@
 echo "<p>Typ: ".$untertitel."</p>";
 
-echo "\n<table class='outer'>\n<tr>\n\t<td>";
-	// Tabelle Kennzeichen
+echo "\n<table class='outer'>\n<tr>\n\t<td>"; 	// Tabelle Kennzeichen
 	// ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind
 	echo "\n\t<table class='kennzla' title='Lage'>";
@@ -192,15 +183,19 @@
 			echo "\n\t\t<td title='Bundesland'>".$land."</td>";
 			echo "\n\t\t<td title='Regierungsbezirk'>".$regbez."</td>";
-			echo "\n\t\t<td title='Kreis'>".$kreis."</td>";
+			echo "\n\t\t<td title='Kreis'>";
+				if ($showkey) {
+						echo "<span class='key'>".$kreis."</span><br>";
+				}
+			echo $knam."&nbsp;</td>";
 			echo "\n\t\t<td title='Gemeinde'>";
-			if ($showkey) {
-				echo "<span class='key'>".$gem."</span><br>";
-			}
-			echo $gnam."</td>";
+				if ($showkey) {
+					echo "<span class='key'>".$gem."</span><br>";
+				}
+			echo $gnam."&nbsp;</td>";
 			echo "\n\t\t<td title='Stra&szlig;e'>";
-			if ($showkey) {
-				echo "<span class='key'>".$lage."</span><br>";
-			}
-			echo $snam."</td>";
+				if ($showkey) {
+					echo "<span class='key'>".$lage."</span><br>";
+				}
+			echo $snam."&nbsp;</td>";
 			switch ($ltyp) {
 				case "m":
@@ -385,6 +380,5 @@
 	$sql.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id ";
 	$sql.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert ";
-	$sql.="WHERE v.beziehung_zu= $1 ";
-	$sql.="AND   v.beziehungsart= $2 ;";
+	$sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart= $2 ;";
 
 	$v = array($gmlid,$bezart);
Index: trunk/var/www/info/alkis/alkisfsnw.php
===================================================================
--- trunk/var/www/info/alkis/alkisfsnw.php	(revision 78)
+++ trunk/var/www/info/alkis/alkisfsnw.php	(revision 81)
@@ -15,4 +15,5 @@
 	26.01.2011  Space in leere td
 	01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
+	07.02.2011  
 	ToDo:
 	- EntschlÃŒsseln "Bahnkategorie" bei Behnverkehr, "OberflÃ€chenmaterial" bei Unland
@@ -100,5 +101,4 @@
 }
 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite
-
 	// darin Tabelle Kennzeichen
 	echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
@@ -108,11 +108,9 @@
 			echo "<span class='key'>".$gmkgnr."</span><br>";
 		}
-		echo $gemkname."</td>";
+		echo $gemkname."&nbsp;</td>";
 		echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
 		echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
 	echo "\n\t</table>";
-
 echo "\n\t</td>\n\t<td>"; // rechte Seite
-
 	// FS-Daten 2 Spalten
 	echo "\n\t<table class='fsd'>";
@@ -124,5 +122,4 @@
 	if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
 echo "\n\t</td>\n</tr>\n</table>";
-
 //	echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
 // Ende Seitenkopf
@@ -510,5 +507,5 @@
 					echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
 						echo "\n\t\t<td class='head'>".$blattartg."</td>";
-						echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
+						echo "\n\t\t<td class='head'>Lfd-Nr.</td>";
 						echo "\n\t\t<td class='head'>Buchungsart</td>";
 					echo "\n\t</tr>";
@@ -518,6 +515,5 @@
 								echo "<span class='key'>".$rowg["bezirk"]."</span><br>";
 							}
-							echo $beznam;
-						echo "</td>";
+						echo $beznam."&nbsp;</td>";
 
 						echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
@@ -529,7 +525,5 @@
 								echo "<span class='key'>".$rows["buchungsart"]."</span><br>";
 							}
-							echo $rows["bart"];
-						echo "</td>";
-
+						echo $rows["bart"]."</td>";
 					echo "\n\t</tr>";
 				echo "\n\t</table>";
@@ -621,11 +615,7 @@
 		$blattkeyan=$rowan["blattart"]; // Schluessel von Blattart
 		$blattartan=blattart($blattkeyan);
-
-		//echo "\n<p class='err'>SQL=<br>".$sql."</p>\n";
-
 		echo "\n<hr>\n<table class='outer'>";
 		echo "\n<tr>"; // 1 row only
 			echo "\n<td>"; // outer linke Spalte
-
 				// Rahmen mit Kennzeichen GB
 				if ($blattkeyan == 1000) {
@@ -640,5 +630,4 @@
 						echo "\n\t\t<td class='head'>Buchungsart</td>";
 					echo "\n\t</tr>";
-
 					echo "\n\t<tr>";
 						echo "\n\t\t<td title='Grundbuchbezirk'>";
@@ -658,5 +647,4 @@
 							echo $rowan["bart"];
 						echo "</td>";
-
 					echo "\n\t</tr>";
 				echo "\n\t</table>";
@@ -688,6 +676,5 @@
 			echo "\n<p>Blattart: ".$blattartan." (".$blattkeyan.").<br>\n"; 
 		}
-
-		// +++ Weitere Felder ausgeben ?? BeschreibungDesUmfangsDerBuchung
+		// +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung
 		if ($rowan["nrpl"] != "") {
 			echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>";
@@ -696,5 +683,4 @@
 			echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>";
 		}
-
 		if ($eig=="j") {
 			$n = eigentuemer($con, $gkz, $idanzeige, $rowan["g_gml"], false, $showkey); // ohne Adresse
