Ignore:
Timestamp:
02/06/14 16:40:10 (10 years ago)
Author:
frank.jaeger
Message:

Feinschliff und Korrektur an Auskunft und Navigation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkis/alkisfkt.php

    r306 r315  
    55 
    66        Version: 
    7         2010-12-17  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
    8         2011-11-01  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    9         2011-11-02  Parameter debug in function eigentuemer 
    10         2011-11-17  Variable ($debug, $idanzeige, $showkey) von Parameter nach global. Die heißen in allen Programmteilen gleich. 
    11         2014-01-22      Eigentuemerart: Mehr Werte und Zugriff auf DB-SchlÃŒssel-Tabelle  
     7        2010-12-17 Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
     8        2011-11-01 *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
     9        2011-11-02 Parameter debug in function eigentuemer 
     10        2011-11-17 Variable ($debug, $idanzeige, $showkey) von Parameter nach global. Die heißen in allen Programmteilen gleich. 
     11        2014-01-22 Eigentuemerart: Mehr Werte und Zugriff auf DB-SchlÃŒssel-Tabelle 
     12        2014-02-06 Korrektur EigentÃŒmerart 
    1213*/ 
    1314 
     
    7374function kurz_namnr($lang) { 
    7475        // Namensnummer kuerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden 
    75         $kurz=str_replace(".00","",$lang);      // leere Stufen (nur am Ende) 
    76         $kurz=str_replace("0000","",$kurz);     // ganz leer (am Anfang) 
    77         $kurz=ltrim($kurz, "0");                                // fuehrende Nullen am Anfang 
    78         $kurz=str_replace(".0",".",$kurz);      // fuehrende Null jeder Stufe 
     76        $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 
     77        $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) 
     78        $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang 
     79        $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe 
    7980        return $kurz; 
    8081} 
     
    169170                $j++; 
    170171        } // Ende Flurstueck 
     172        pg_free_result($resf); 
    171173        return $j; 
    172174} 
     
    176178        // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link 
    177179        // Parameter: 
    178         //              $gmlid = ID des GB-Blattes 
    179         //              $mitadresse = Option (true/false) ob auch die Adresszeile ausgegeben werden soll 
     180        //      $gmlid = ID des GB-Blattes 
     181        //      $mitadresse = Option (true/false) ob auch die Adresszeile ausgegeben werden soll 
    180182        // Return = Anzahl Namensnummern 
    181183 
     
    195197        $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 
    196198        $sqln.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 
    197         $sqln.="FROM ax_namensnummer n "; 
    198         $sqln.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 
    199         $sqln.="WHERE b.beziehung_zu= $1 "; // id blatt 
    200         $sqln.="AND b.beziehungsart='istBestandteilVon' "; 
    201         $sqln.="ORDER BY laufendenummernachdin1421;"; 
     199        $sqln.="FROM ax_namensnummer n JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 
     200        $sqln.="WHERE b.beziehung_zu= $1 AND b.beziehungsart='istBestandteilVon' ORDER BY laufendenummernachdin1421;"; 
    202201 
    203202        $v = array($gmlid); 
     
    245244                        // aus welchen Namensnummern die aktuelle entstanden ist. 
    246245 
    247                 // Schleife 2: P e r s o n   
     246                // Schleife 2: P e r s o n 
    248247                // Beziehung: ax_person  <benennt<  ax_namensnummer 
    249248                $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 
     
    276275                        } 
    277276                        // Spalte 2 = Angaben 
    278                         $eiart=eigentuemerart($rown["eigentuemerart"]); 
    279                         echo "\n\t\t<p class='geig' title='Eigent&uuml;merart ".$eiart."'>".$diePerson."</p>\n\t</td>"; 
     277                        $eiartkey=$rown["eigentuemerart"]; 
     278                        $eiart=eigentuemerart($eiartkey); 
     279                        echo "\n\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>"; 
    280280 
    281281                        // Spalte 3 = Link 
    282282                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    283283                                if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person"); echo "&nbsp";} 
     284                                if ($showkey) {echo "<span class='key'>(".$eiartkey.")</span> ";} 
    284285                                echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0]; 
    285286                                if ($idanzeige) {echo "&amp;id=j";} 
     
    292293                                // Schleife 3:  A d r e s s e  (OPTIONAL) 
    293294                                $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 
    294                                 $sqla.="FROM ax_anschrift a "; 
    295                                 $sqla.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 
     295                                $sqla.="FROM ax_anschrift a JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 
    296296                                $sqla.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER? 
    297  
    298297                                $gmlp=$rowp["gml_id"]; // Person 
    299298                                $v = array($gmlp); 
    300299                                $resa = pg_prepare("", $sqla); 
    301300                                $resa = pg_execute("", $v); 
    302  
    303301                                if (!$resa) { 
    304302                                        echo "\n\t<p class='err'>Fehler bei Adressen</p>\n"; 
    305303                                        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";} 
    306304                                } 
    307  
    308305                                $j=0; 
    309306                                while($rowa = pg_fetch_array($resa)) { 
     
    343340                                        $j++; 
    344341                                } 
     342                                pg_free_result($resa); 
    345343                        } // End if 
     344 
    346345                        // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 
    347346                        $i++; // cnt Person 
     
    370369                if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 
    371370                if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 
    372         }        
     371        } 
     372        pg_free_result($resn); 
    373373        return $n;  
    374374} // End Function eigentuemer 
     
    403403        // Die hÀufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst. 
    404404        // FÃŒr seltene Werte in der Datenbank nachschlagen. 
    405         // SchlÃŒsseltabelle dazu aus GeoInfoDok ist vorhanden seit 2014-01-22. 
     405        // SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22. 
    406406        // Hier Verwendung fÃŒr Text zum Link. 
    407407        // FÃŒr korrekte Wiedergabe der amtlichen Werte einen Join auf Tabelle verwenden statt dieser Function.  
     408        global $debug; 
    408409        switch ($key) { 
    409410                case 1000: $wert = "Nat&uuml;rliche Person"; break; // singular fuer Link-Text 
     
    425426                        if ($res) { 
    426427                                $row=pg_fetch_array($res); 
    427                                 $wert==htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8"); 
     428                                $wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8"); 
     429                                if ($wert == "") {$wert="** Eigent&uuml;merart '".$key."' nicht gefunden **";} 
    428430                        } else { 
    429                                 echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf SchlÃŒssel EigentÃŒmerart.</p>\n"; 
    430                                 $wert = "** Unbekannte Eigent&uuml;merart '".$key."' **"; 
    431                         } 
     431                                echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n"; 
     432                                $wert="** Unbekannte Eigent&uuml;merart '".$key."' **"; 
     433                        } 
     434                        pg_free_result($res); 
    432435                        break; 
    433436        } 
    434437        return $wert; 
    435438} 
    436  
    437439 
    438440// Entschluesslung ax_buchungsblatt.blattart 
Note: See TracChangeset for help on using the changeset viewer.