Author: Not specified Language: php
Description: Not specified Timestamp: 2017-01-29 10:40:41 +0000
View raw paste Reply
<?php
require_once './Page.php';
/*
        Aufgabe 2a:
        Die schmalste Box kommt im Bild nach vorne (d.h. hinten in der Datei oder z-index maximal),
        die breiteste im Bild nach hinten (d.h. vorne in der Datei oder z-index = 1).
        Die Reihenfolge in der Datei erreicht man am einfachsten mit absteigender Sortierung in der Abfrage.
*/

class AdminPage extends Page
{

    protected function __construct()
    {
        parent::__construct();

    }

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


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

    // WHERE screen_width Is Not Null AND screen_height Is Not Null     -- aber WHERE nicht verlangt..
    protected function getViewData()
    {
        $sql= "
            SELECT name, screen_width, screen_height
             FROM users
             ORDER BY screen_width DESC, screen_height DESC;"
;
        $recordset=$this->_database->query($sql);
        if (!$recordset){
            throw new Exception($this->_database->error);
        }
        $users=array();

        while ($record = $recordset->fetch_assoc()){
            $users[]=$record;
        }
        $recordset->free();
        return $users;
    }

    protected function generateView()
    {
        $users=$this->getViewData();
        $this->generatePageHeader('Verwendete Bildschirmgrößen');
        // &nbsp => Leerzeichen ohne Umbruch
        echo "<p id='userData'> &nbsp; </p>
        <section>"
;
        for($i=0; $i<count($users); $i++){
            $userName = htmlspecialchars($users[$i]['name']);
            echo "<div id='$userName' style='width:{$users[$i]['screen_width']}px;
            height:{$users[$i]['screen_height']}px;' onmouseover='showUserData(this)'> </div>"
;
        }
        echo "</section>";
        $this->generatePageFooter();
    }

    /*
    processReceivedData: Auswertung der (z.B. von einem Formular)
    übermittelten Daten und Schreiben dieser Daten in die Datenbank:
    */

    protected function processReceivedData()
    {
        parent::processReceivedData();
    }

}
AdminPage::main();
View raw paste Reply