Author: Not specified Language: php
Description: Not specified Timestamp: 2017-01-29 16:13:49 +0000
View raw paste Reply
<?php  
require_once './Page.php';
/*
- Erzeugt eine HTML-Seite mit einem Auswahlfeld und sendet die Auswahl an Result
- Beinhaltet die Hilfsfunktion insert_option() zum Einfügen von Elementen in eine Select-Box
- Implementiert die Methoden getViewData(), generateView() und main()
- processReceivedData() bleibt leer, da keine Daten empfangen werden??
*/


class Vorhersage extends Page
{
        // declared attributes (e.g. references for member variables representing substructures/blocks):
    protected $stadtid;


        protected function __construct() {
                parent::__construct();
                // instantiated attributes:
       
        }
        protected function __destruct() {
                // to do: if necessary, destruct attribute objects representing substructures/blocks
                parent::__destruct();
        }


    public static function main() {
                try {
                        $page = new Vorhersage();
                        $page->processReceivedData();
                        $page->generateView();
                }
                catch (Exception $e) {
                        header("Content-type: text/plain; charset=UTF-8");
                        echo $e->getMessage();
                }
        }



        protected function getViewData() {
//
        $sql = "SELECT city.name, forecast.*  
            FROM city
            INNER JOIN forecast
            ON city.id = forecast.cityid
            WHERE city.id ="
.$this->stadtid;

            $result = $this->_database->query($sql);

            return $result;
    }

        protected function generateView() {

        $this->generatePageHeader('');
        if($this->stadtid != null){
        $viewData = $this->getViewData();
        echo "<h1> Wettervorhersage für " . htmlspecialchars($_GET["name"])."</h1>";
        while ($zeile = $viewData->fetch_assoc()){
            echo "Temperatur: " . $zeile["temperature"] . " - ";
            echo "Windgeschwindigkeit: " . $zeile["windspeed"] . " am: " . $zeile["datetime"] . "<br>";
            }
        }
        else{
            echo "<h2>keine Stadt verfügbar</h2>";
        }

        $this->generatePageFooter();
    }

        protected function processReceivedData() {
                parent::processReceivedData();
                // to do: call processReceivedData() for all member variables:
        if (isset($_GET["stadtid"])) {
        $this->stadtid = $this->_database->real_escape_string($_GET["stadtid"]);
        }
        }

}//end of class
Vorhersage::main();
View raw paste Reply