Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php // UTF-8 marker äöüÄÖÜ߀
- /**
- * Class BlockTemplate for the exercises of the EWA lecture
- * Demonstrates use of PHP including class and OO.
- * Implements Zend coding standards.
- * Generate documentation with Doxygen or phpdoc
- *
- * PHP Version 5
- *
- * @category File
- * @package Pizzaservice
- * @author Bernhard Kreling, <b.kreling@fbi.h-da.de>
- * @author Ralf Hahn, <ralf.hahn@h-da.de>
- * @license http://www.h-da.de none
- * @Release 1.2
- * @link http://www.fbi.h-da.de
- */
- /**
- * This is a template for classes, which represent div-blocks
- * within a web page. Instances of these classes are used as members
- * of top level classes.
- * The order of methods might correspond to the order of thinking
- * during implementation.
- * @author Bernhard Kreling, <b.kreling@fbi.h-da.de>
- * @author Ralf Hahn, <ralf.hahn@h-da.de>
- */
- class Auswahl // to do: change name of class
- {
- // --- ATTRIBUTES ---
- /**
- * Reference to the MySQLi-Database that is
- * accessed by all operations of the class.
- */
- protected $_database = null;
- protected $table = null;
- protected $menuArray = [];
- // to do: declare reference variables for members
- // representing substructures/blocks
- // --- OPERATIONS ---
- /**
- * Gets the reference to the DB from the calling page template.
- * Stores the connection in member $_database.
- *
- * @param $database $database is the reference to the DB to be used
- *
- * @return none
- */
- public function __construct($database)
- {
- $this->_database = $database;
- // to do: instantiate members representing substructures/blocks
- }
- /**
- * Fetch all data that is necessary for later output.
- * Data is stored in an easily accessible way e.g. as associative array.
- *
- * @return none
- */
- protected function getViewData()
- {
- /* Auswahlliste */
- $this->table = $this->_database->query("SELECT * FROM `Angebot` ORDER BY `PizzaName`");
- while (($row = $this->table->fetch_assoc()) != null)
- $this->menuArray[] = $row;
- $this->table->free();
- }
- /**
- * Generates an HTML block embraced by a div-tag with the submitted id.
- * If the block contains other blocks, delegate the generation of their
- * parts of the view to them.
- *
- * @param $id $id is the unique (!!) id to be used as id in the div-tag
- *
- * @return none
- */
- public function generateView($id = "")
- {
- $this->getViewData();
- if ($id) {
- $id = "id=\"$id\"";
- }
- echo "<div $id>\n";
- // ToDo: Evtl. als Liste mit fester Größe (Scrollbar)
- echo <<< EOT
- <h3>Auswahl</h3>
- <table cellpadding="5" title="Ziehe Pizza von hier in den Warenkorb">
- EOT;
- foreach($this->menuArray as $row) {
- echo <<< PIZZA
- <tr>
- <td><img id="{$row["PizzaName"]}" src="img/{$row["Bilddatei"]}" alt="pizza_bild" width="75" height="75" draggable="true" data-preis="{$row["Preis"]}" ondragstart="drag(event);"/></td>
- <td>{$row["PizzaName"]}</td>
- <td>{$row["Preis"]} €</td>
- </tr>
- PIZZA;
- }
- echo"</table>";
- echo "</div>\n";
- }
- /**
- * Processes the data that comes via GET or POST i.e. CGI.
- * If this block is supposed to do something with submitted
- * data do it here.
- * If the block contains other blocks, delegate processing of the
- * respective subsets of data to them.
- *
- * @return none
- */
- public function processReceivedData()
- {
- // to do: call processData() for all members
- }
- }
- // Zend standard does not like closing php-tag!
- // PHP doesn't require the closing tag (it is assumed when the file ends).
- // Not specifying the closing ? > helps to prevent accidents
- // like additional whitespace which will cause session
- // initialization to fail ("headers already sent").
- //? >
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement