Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Klasse zum Datenmodell - Bearbeitung von 'Personen'
- *
- * User: Denis Petkau
- * Date: 14.04.2016
- * Time: 01:06
- */
- class Model
- {
- /** Objekt-Referenzvariablen der Klassen **/
- public $mysqli; // Objekt zum DB-Connect
- public $result; // Ergebnis des Lesens der DB Personen
- public $rows; // Anzahl gelesener Datensätze
- /** DB-Zugangsdaten **/
- protected $host = "mysqlpb.pb.bib.de"; // Server zur verwendeten Datenbank (ux-02.pb.bib.de oder ux-02.bi.pb.bib.de)
- protected $user = "pba3h13ape"; // Benutzername zur Datenbank
- protected $pass = "Doener"; // Passwort zum Benutzer
- protected $db = "pba3h13ape_Person"; // Datenbank
- protected $tab_persons = "Personen"; // DB-Tabellenname
- /**
- * Konstruktor der DB Daten initialisiert
- * ermittelt ggf. getätigte Interaktionen (Funktionsaufrufe --> lesen, einfügen, ändern ...)
- * stößt Abarbeitung von Funktionen an
- */
- public function __construct()
- {
- /** Prüfung ob die Variable den oben zugewiesenen Wert findet **/
- if(isset($host))
- {
- $this->host = $host;
- }
- if(isset($user))
- {
- $this->user = $user;
- }
- if(isset($pass))
- {
- $this->pass = $pass;
- }
- if(isset($db))
- {
- $this->db = $db;
- }
- /** DB-Verbindung herstellen **/
- $this->mysqli = new mysqli($this->host,$this->user,$this->pass,$this->db);
- /** Fehler beim Verbinden mit der DB **/
- if (!$this->mysqli)
- {
- die('Keine DB-Verbindung möglich' . $this->mysqli->error);
- }
- /** Konvertierung auf UTF-8 **/
- $this->mysqli->set_charset('utf8');
- }
- /**
- * Lesen der DB Daten gemäß Selektionsparametern
- * Die Selektionsparameter werden in index.php oder
- * mittels versteckter Formular-Felder übertragen
- *
- */
- public
- function persons_read()
- {
- /** Datenbank daten werden in der Variable $sql gespeichert **/
- $sql = " select * from " . $this->tab_persons ;
- /** Wenn... nicht Standart gewählt ist **/
- if(isset($_POST['s_namepre']) && $_POST['s_gehalt'] != 'all')
- {
- /** Aber gehalt gewählt ist **/
- switch($_POST['s_gehalt'])
- {
- case 30000: $sql .= " where gehalt < 30000"; break;
- case 50000: $sql .= " where gehalt < 50000 AND gehalt >= 30000"; break;
- case 100000: $sql .= " where gehalt < 100000 AND gehalt >= 50000"; break;
- }
- /** Oder name einem anderen Namen der Datenbank entspricht **/
- $sql .= " And name like '" . $_POST['s_namepre'] . "%'";
- }
- /** Wenn nur der Anfangsbuchstabe von einem Namen eingegeben wurde gesucht wird... **/
- elseif (isset($_POST['s_namepre']))
- {
- $sql .= " where name like '" . $_POST['s_namepre'] . "%'";
- }
- /** Oder nur ein gehalt gewählt wurde... **/
- elseif (isset($_POST['s_gehalt']))
- {
- switch($_POST['s_gehalt'])
- {
- case 30000: $sql .= " where gehalt < 30000"; break;
- case 50000: $sql .= " where gehalt < 50000 AND gehalt >= 30000"; break;
- case 100000: $sql .= " where gehalt < 100000 AND gehalt >= 50000"; break;
- }
- }
- /** Wenn checkbox "Ausgabe sortiert" angeklickt wird soll Soriert werden. **/
- if (isset($_POST['s_sort'])) {
- $sql .= " ORDER BY gehalt desc"; // Ergebnis absteigend sortiert
- }
- /** Datensätze aus DB in Ergebnisobjekt lesen **/
- $result = $this->mysqli->query($sql);
- /** Ergebnis des DB-Zugriffs prüfen **/
- if ($result)
- {
- $this->result = $result;
- /** Übergibt an Rows die gelesenen Zeilen von Affected Rows in Mysqli **/
- $this->rows = $this->mysqli->affected_rows;
- }
- }
- }
Add Comment
Please, Sign In to add comment