Ignore:
Timestamp:
07/07/22 08:51:44 (22 months ago)
Author:
frank.jaeger
Message:

ALKIS-Auskunft angepasst an PHP 8

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkisn/alkisfsnw.php

    r427 r430  
    1616        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche) 
    1717        2022-01-13 Functions in Fach-Modul verschoben, die nicht von mehreren verwendet werden. Neue Functions LnkStf(), DsKy() 
     18        2022-07-05 PHP 8.1: Connection verwenden bei "pg_prepare" und "pg_execute", keine NULL-Werte in String-Functions verwenden 
    1819 
    1920ToDo: 
     
    2526*/ 
    2627 
    27 function werteliste($bez ,$sqlin) { 
     28function werteliste($bez ,$sqlin, $con) { 
    2829// Eine oder mehrere EntschlÃŒsselungen in eine Zeile ausgeben. 
    2930// Dient dazu, SchlÃŒssel-ARRAYs auflösen ohne die Zeile im JOIN mehrfach aufzulisten 
     
    3637        $sql="SELECT wert, beschreibung FROM ".$tabelle." WHERE wert IN (".$sqlin.") ORDER BY wert LIMIT $1 ;"; 
    3738        $v = array('9'); 
    38         $res = pg_prepare("", $sql); 
    39         $res = pg_execute("", $v); 
     39        $res = pg_prepare($con, "", $sql); 
     40        $res = pg_execute($con, "", $v); 
    4041        if (!$res) { 
    4142                echo "\n<p class='err'>Fehler bei Werteliste.</p>"; 
     
    115116        $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL;"; 
    116117        $v=array(fskenn_dbformat($fskennz)); 
    117         $res = pg_prepare("", $sql); 
    118         $res = pg_execute("", $v); 
     118        $res = pg_prepare($con, "", $sql); 
     119        $res = pg_execute($con, "", $v); 
    119120        if ($row = pg_fetch_assoc($res)) { 
    120121                $gmlid=$row["gml_id"]; 
     
    139140 
    140141$v = array($gmlid); // mit gml_id suchen 
    141 $res = pg_prepare("", $sql); 
    142 $res = pg_execute("", $v); 
     142$res = pg_prepare($con, "", $sql); 
     143$res = pg_execute($con, "", $v); 
    143144if (!$res) { 
    144145        echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>"; 
     
    165166        $nenner=$row["nenner"]; 
    166167        $flstnummer=$zaehler; 
    167         if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 
     168        if ($nenner == NULL) { 
     169                $nenner=""; 
     170        } else { 
     171                $flstnummer.="/".$nenner; 
     172        } // BruchNr 
    168173        $fsbuchflae=$row["amtlicheflaeche"]; // amtl. Fl. aus DB-Feld 
    169174        $fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte FlÀche 
     
    175180        $zeart=$row["zeigtaufexternes_art"]; 
    176181        $zename=$row["zeigtaufexternes_name"]; 
     182        if (is_null($zename)) {$zename="";} 
    177183} else { 
    178184        echo "\n<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ck mit gml_id=".$gmlid."</p>"; 
     
    246252 
    247253$v = array($gmlid); 
    248 $res = pg_prepare("", $sql); 
    249 $res = pg_execute("", $v); 
     254$res = pg_prepare($con, "", $sql); 
     255$res = pg_execute($con, "", $v); 
    250256 
    251257if (!$res) { 
     
    297303// Lagebezeichnung  O H N E  Hausnummer  (Gewanne oder nur Strasse) 
    298304// ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer 
    299 $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung  
     305$sql ="SELECT l.gml_id, coalesce(l.unverschluesselt, '') AS gewann, l.gemeinde, l.lage, s.bezeichnung  
    300306FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf)  
    301307LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
     
    303309 
    304310$v = array($gmlid); 
    305 $res = pg_prepare("", $sql); 
    306 $res = pg_execute("", $v); 
     311$res = pg_prepare($con, "", $sql); 
     312$res = pg_execute($con, "", $v); 
    307313if (!$res) { 
    308314        echo "\n<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>"; 
     
    312318        $skey=$row["lage"]; // Strassenschl. 
    313319        $lgml=$row["gml_id"]; // Key der Lage 
    314         $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 
     320        $gewann = htmlentities($row["gewann"], ENT_QUOTES, "UTF-8"); 
    315321        if ($gewann != '') { 
    316322                echo "\n<tr>" 
     
    367373$fskennzalb=$defland.$gmkgnr."-".str_pad($flurnummer,3,"0",STR_PAD_LEFT)."-".str_pad($zaehler,5,"0",STR_PAD_LEFT)."/".str_pad($nenner,3,"0",STR_PAD_LEFT); 
    368374$v = array($fskennzalb); 
    369 $res = pg_prepare("", $sql); 
    370 $res = pg_execute("", $v); 
     375$res = pg_prepare($con, "", $sql); 
     376$res = pg_execute($con, "", $v); 
    371377if (!$res) { 
    372378        echo "\n<p class='err'>Fehler bei Suche tats. Nutzung</p>"; 
     
    436442 b.bodenart AS bodenartk, bodenart.beschreibung AS bodenartv, zustbod.beschreibung AS zustbodv, 
    437443 b.entstehungsartoderklimastufewasserverhaeltnisse AS entsteh, b.sonstigeangaben, 
    438  b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl, 
     444 coalesce(b.bodenzahlodergruenlandgrundzahl, '') as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl, 
    439445 b.jahreszahl, st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) AS schnittflae  
    440446FROM ax_flurstueck f 
     
    446452 
    447453$v = array($gmlid); 
    448 $res = pg_prepare("", $sql); 
    449 $res = pg_execute("", $v); 
     454$res = pg_prepare($con, "", $sql); 
     455$res = pg_execute($con, "", $v); 
    450456if (!$res) {echo "\n<p class='err'>Fehler bei DB-Abfrage zur Klassifizierung Boden</p>\n";} 
    451457$gesertragsmz = 0; // Gesamt-ErtragsMesszahl 
     
    466472                $absbuchflae = $absflae * $the_Xfactor; 
    467473                $klasflae+=$absbuchflae; 
    468                 $ertragszahl = intval($absbuchflae * $row['ackerzahl'] / 100); 
     474 
     475                $boedenzahl=ltrim($row['bodenzahl'], '0'); 
     476                if (is_null($row['ackerzahl'])) { 
     477                        $ackerzahl=""; 
     478                        $ertragszahl = 0;        
     479                } else { 
     480                        $ackerzahl=ltrim($row['ackerzahl'], '0'); 
     481                        $ertragszahl = intval($absbuchflae * $row['ackerzahl'] / 100); 
     482                } 
    469483                $gesertragsmz+=$ertragszahl; 
    470484        //      $absflaedis = number_format($absflae,0,",",".")." m&#178;"; // als Tool-Tip ? 
    471485                $absbuchflaedis = number_format($absbuchflae,0,",",".")." m&#178;"; 
    472                 $boedenzahl=ltrim($row['bodenzahl'], '0'); 
    473                 $ackerzahl=ltrim($row['ackerzahl'], '0'); 
     486 
    474487                $jahr=$row['jahreszahl']; 
    475488                $entsteh=$row['entsteh']; 
     
    492505                                $ent=trim($entsteh, "{}"); 
    493506                                echo "\n\t\t<br><span title='Enststehungsart oder Klimastufe, Wasserverh&auml;ltnisse'>".DsKy($ent, '*'); 
    494                                 werteliste('e', $ent); // ++ Zeilenweise mit <br> ? 
     507                                werteliste('e', $ent, $con); // ++ Zeilenweise mit <br> ? 
    495508                                echo "</span>"; 
    496509                        } 
    497510                        if (isset($sonst)) { 
    498511                                $son=trim($sonst, "{}"); 
    499                                 echo "\n\t\t<br><span title='Sonstige Angaben'>".werteliste('s', $son)."</span>"; // ++ Zeilenweise mit <br> ? 
     512                                echo "\n\t\t<br><span title='Sonstige Angaben'>".werteliste('s', $son, $con)."</span>"; // ++ Zeilenweise mit <br> ? 
    500513                        } 
    501514                        if (isset($jahr)) { 
Note: See TracChangeset for help on using the changeset viewer.