Guest User

Untitled

a guest
May 18th, 2016
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.20 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4.  * Klasse zum Datenmodell - Bearbeitung von 'Personen'
  5.  *
  6.  * User: Denis Petkau
  7.  * Date: 14.04.2016
  8.  * Time: 01:06
  9.  */
  10. class Model
  11. {
  12.     /** Objekt-Referenzvariablen der Klassen  **/
  13.     public $mysqli;                     // Objekt zum DB-Connect
  14.     public $result;                     // Ergebnis des Lesens der DB Personen
  15.     public $rows;                       // Anzahl gelesener Datensätze
  16.  
  17.     /** DB-Zugangsdaten  **/
  18.     protected $host = "mysqlpb.pb.bib.de";            // Server zur verwendeten Datenbank (ux-02.pb.bib.de oder ux-02.bi.pb.bib.de)
  19.     protected $user = "pba3h13ape";                  // Benutzername zur Datenbank
  20.     protected $pass = "Doener";                     // Passwort zum Benutzer
  21.     protected $db = "pba3h13ape_Person";           // Datenbank
  22.     protected $tab_persons = "Personen";          // DB-Tabellenname
  23.  
  24.     /**
  25.      * Konstruktor der DB Daten initialisiert
  26.      *  ermittelt ggf. getätigte Interaktionen (Funktionsaufrufe --> lesen, einfügen, ändern ...)
  27.      *  stößt Abarbeitung von Funktionen an
  28.      */
  29.     public function __construct()
  30.     {
  31.         /** Prüfung ob die Variable den oben zugewiesenen Wert findet  **/
  32.         if(isset($host))
  33.         {
  34.             $this->host = $host;
  35.         }
  36.         if(isset($user))
  37.         {
  38.             $this->user = $user;
  39.         }
  40.         if(isset($pass))
  41.         {
  42.             $this->pass = $pass;
  43.         }
  44.         if(isset($db))
  45.         {
  46.             $this->db = $db;
  47.         }
  48.  
  49.         /** DB-Verbindung herstellen  **/
  50.         $this->mysqli = new mysqli($this->host,$this->user,$this->pass,$this->db);
  51.  
  52.         /** Fehler beim Verbinden mit der DB **/
  53.         if (!$this->mysqli)
  54.         {
  55.             die('Keine DB-Verbindung möglich' . $this->mysqli->error);
  56.         }
  57.         /**  Konvertierung auf UTF-8 **/
  58.         $this->mysqli->set_charset('utf8');
  59.  
  60.     }
  61.  
  62.  
  63.  
  64.  
  65.  
  66.     /**
  67.      * Lesen der DB Daten gemäß Selektionsparametern
  68.      *  Die Selektionsparameter werden in index.php oder
  69.      *  mittels versteckter Formular-Felder übertragen
  70.      *
  71.      */
  72.     public
  73.     function persons_read()
  74.     {
  75.         /** Datenbank daten werden in der Variable $sql gespeichert **/
  76.         $sql = " select * from " . $this->tab_persons ;
  77.  
  78.         /** Wenn... nicht Standart gewählt ist **/
  79.         if(isset($_POST['s_namepre']) && $_POST['s_gehalt'] != 'all')
  80.         {
  81.             /** Aber gehalt gewählt ist **/
  82.             switch($_POST['s_gehalt'])
  83.             {
  84.                 case 30000: $sql .= " where gehalt < 30000"; break;
  85.                 case 50000: $sql .= " where gehalt < 50000 AND gehalt >= 30000"; break;
  86.                 case 100000: $sql .= " where gehalt < 100000 AND gehalt >= 50000"; break;
  87.             }
  88.             /** Oder name einem anderen Namen der Datenbank entspricht **/
  89.             $sql .= " And name like '" . $_POST['s_namepre'] . "%'";
  90.         }
  91.         /** Wenn nur der Anfangsbuchstabe von einem Namen eingegeben wurde gesucht wird... **/
  92.         elseif (isset($_POST['s_namepre']))
  93.         {
  94.             $sql .= " where name like '" . $_POST['s_namepre'] . "%'";
  95.         }
  96.         /** Oder nur ein gehalt gewählt wurde... **/
  97.         elseif (isset($_POST['s_gehalt']))
  98.         {
  99.             switch($_POST['s_gehalt'])
  100.             {
  101.                 case 30000: $sql .= " where gehalt < 30000"; break;
  102.                 case 50000: $sql .= " where gehalt < 50000 AND gehalt >= 30000"; break;
  103.                 case 100000: $sql .= " where gehalt < 100000 AND gehalt >= 50000"; break;
  104.             }
  105.         }
  106.  
  107.         /** Wenn checkbox "Ausgabe sortiert" angeklickt wird soll Soriert werden. **/
  108.         if (isset($_POST['s_sort'])) {
  109.             $sql .= " ORDER BY gehalt desc";                 // Ergebnis absteigend sortiert
  110.         }
  111.         /** Datensätze aus DB in Ergebnisobjekt lesen **/
  112.         $result = $this->mysqli->query($sql);
  113.         /** Ergebnis des DB-Zugriffs prüfen **/
  114.         if ($result)
  115.         {
  116.             $this->result = $result;
  117.             /** Übergibt an Rows die gelesenen Zeilen von Affected Rows in Mysqli **/
  118.             $this->rows = $this->mysqli->affected_rows;
  119.         }
  120.  
  121.     }
  122.  
  123. }
Add Comment
Please, Sign In to add comment