Changeset 339 for trunk/info/info/alkis/alkisfkt.php
- Timestamp:
- 09/30/14 16:42:55 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkis/alkisfkt.php
r334 r339 13 13 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 14 14 2014-09-15 Bei Relationen den Timestamp abschneiden 15 2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 15 16 */ 16 17 … … 96 97 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche 97 98 FROM ax_flurstueck f 98 JOIN ax_buchungsstelle s ON f.istgebucht=s ubstring(s.gml_id,1,16)99 JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id 99 100 LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 100 101 WHERE s.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; … … 198 199 $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 199 200 200 $v = array( substr($gmlid,0,16)); // 16 Stellen bei Relationen201 $v = array($gmlid); // 16 Stellen bei Relationen 201 202 $resn = pg_prepare("", $sqln); 202 203 $resn = pg_execute("", $v); … … 204 205 if (!$resn) { 205 206 echo "<p class='err'>Fehler bei Eigentümer</p>\n"; 206 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '". substr($gmlid,0,16)."'</p>";}207 if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 207 208 } 208 209 … … 239 240 // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 240 241 241 // Die Relation 'Namensnummer' hat VorgÀnger 'Namensnummer' gibt Auskunft darÃŒber,242 // aus welchen Namensnummern die aktuelle entstanden ist.243 242 244 243 // Schleife 2: P e r s o n 245 244 // Beziehung: ax_person <benennt< ax_namensnummer 246 245 $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 247 $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;";246 $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=p.gml_id WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 248 247 249 248 $v = array($gmlnn); … … 291 290 if ($mitadresse) { 292 291 // Schleife 3: A d r e s s e (OPTIONAL) 293 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";294 $sqla.="FROM ax_anschrift a JOIN ax_person p ON substring(a.gml_id,1,16)=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL;"; // ORDER?292 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland 293 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 LIMIT 2;"; 295 294 $gmlp=$rowp["gml_id"]; // Person 296 295 $v = array($gmlp); 297 296 $resa = pg_prepare("", $sqla); 298 297 $resa = pg_execute("", $v); 298 299 299 if (!$resa) { 300 300 echo "\n\t<p class='err'>Fehler bei Adressen</p>\n"; … … 303 303 $j=0; 304 304 while($rowa = pg_fetch_array($resa)) { 305 $gmla=$rowa["gml_id"]; 306 $plz=$rowa["plz"]; // integer 307 if($plz == 0) { 308 $plz=""; 309 } else { 310 $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); 305 $j++; 306 if ($j == 1) { // erste Adresse anzeigen 307 $gmla=$rowa["gml_id"]; 308 $plz=$rowa["plz"]; // integer 309 if($plz == 0) { 310 $plz=""; 311 } else { 312 $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); 313 } 314 $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); 315 $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); 316 $hsnr=$rowa["hausnummer"]; 317 $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 318 319 echo "\n<tr>\n\t<td> </td>"; //Sp. 1 320 echo "\n\t<td><p class='gadr'>"; //Sp. 2 321 if ($str.$hsnr != "") { 322 echo $str." ".$hsnr."<br>"; 323 } 324 if ($plz.$ort != "") { 325 echo $plz." ".$ort; 326 } 327 if ($land != "" and $land != "DEUTSCHLAND") { 328 echo ", ".$land; 329 } 330 echo "</p></td>"; 331 echo "\n\t<td>"; // Sp. 3 332 if ($idanzeige) { 333 echo "<p class='nwlink noprint'>"; 334 linkgml($gkz, $gmla, "Adresse", "ax_adresse"); 335 echo "</p>"; 336 } else { 337 echo " "; 338 } 339 echo "</td>\n</tr>"; 340 } else { // manchmal dopplete Angaben (_straÃe / _str.) 341 echo "\n<tr>\n\t<td> </td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td> </td>\n</tr>"; 311 342 } 312 $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");313 $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");314 $hsnr=$rowa["hausnummer"];315 $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");316 317 echo "\n<tr>\n\t<td> </td>"; // Spalte 1318 echo "\n\t<td><p class='gadr'>"; //Spalte 2319 if ($str.$hsnr != "") {320 echo $str." ".$hsnr."<br>";321 }322 if ($plz.$ort != "") {323 echo $plz." ".$ort;324 }325 if ($land != "" and $land != "DEUTSCHLAND") {326 echo ", ".$land;327 }328 echo "</p></td>";329 echo "\n\t<td>"; // Spalte 3330 if ($idanzeige) {331 echo "<p class='nwlink noprint'>";332 linkgml($gkz, $gmla, "Adresse", "ax_adresse");333 echo "</p>";334 } else {335 echo " ";336 }337 echo "</td>\n</tr>";338 $j++;339 343 } 340 344 pg_free_result($resa); 341 } // End if345 } 342 346 // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 343 347 … … 370 374 if ($n == 0) { // bei "Fiktives Blatt" KEIN Fehler 371 375 if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 372 if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '". substr($gmlid,0,16)."'</p>";}376 if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 373 377 } 374 378 pg_free_result($resn); … … 422 426 case "": $wert = "Person"; break; // falls (noch) nicht gefuellt 423 427 default: // Datenbank-Abfrage 424 $sql="SELECT bezeichner FROM ax_namensnummer_eigentuemerart WHERE wert= $1 ;";428 $sql="SELECT bezeichner FROM v_namnum_eigart WHERE wert= $1 ;"; 425 429 $v=array($key); 426 430 $res=pg_prepare("", $sql);
Note: See TracChangeset
for help on using the changeset viewer.