Datenbankhandling Datum: 30.07.2003 Author: Gerhard Hirscher, Werner Schröck Copyright: 2002 by ProBIS Version: 1.0.5 *******************************************************************************/ class connect { var $status; // Aktueller Status der Connection - Geöffnet/Geschlossen var $id; // Aktuelle Verbindungskennung var $cfg; var $zugriffe; var $queries; /****************************************************************************** Function: connect -> Konstruktor Argumente: Beschreibung: Öffnet Verbindung zum Host und zur Datenbank (Persistent) Returns: 0/1 Datum: 19.12.2002 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function connect($cfg) { GLOBAL $err; $this->cfg = $cfg; $this->zugriffe = 0; $this->queries = ""; // Verbindung zum Host if(!($this->id = mysql_connect($this->cfg["host"], $this->cfg["user"], $this->cfg["pwd"]))) { $err->add_error("Keine Verbindung zur Datenbank!", 1); return 0; } // Verbindung zur Datenbank if(!@mysql_select_db($this->cfg["db"], $this->id)) { $err->add_error("Datenbank:".$this->cfg["db"]." wurde nicht gefunden!", 1); return 0; } $this->status = 1; return 1; } /****************************************************************************** Function: query Argumente: $query -> SQL Statement Beschreibung: Führt SQL Statment aus und gibt ggf. Zeilenanzahl von Result global aus Returns: 0/ oder Result von SELECT Statment Datum: 10.07.2002 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function query($query) { GLOBAL $err; //print $query."

"; //Keine Verbindung also Tschüss if(!$this->status){ $err->add_error("Keine Verbindung zur Datenbank, das SQL Statement konnte nicht ausgeführt werden!", 1); return 0; } //Query an die Datenbank if(!$result = @mysql_query($query, $this->id)) { $bt = debug_backtrace(); // get class, function called by caller of caller of caller $class = $bt[2]['class']; $function = $bt[2]['function']; $o_object = $bt[2]['object']; $object = $o_object->name; // $err->add_error("SQL - Statement fehlgeschlagen !

Objekt: $object
Class: $class
Function: $function

".mysql_error()."

$query", 1); return 0; } $this->zugriffe++; if ($GLOBALS["debug"]) $GLOBALS["g_debug"]->add_sql($query); // Select Query -> Also Zeilen zählen (Alles Großschreiben zum Stringvergleich) if (strtoupper(substr($query, 0, 6)) == "SELECT") { return $result; } elseif (strtoupper(substr($query, 0, 4)) == "SHOW") { return $result; } else { return 1; } } /****************************************************************************** Function: fetch_array Argumente: $rs -> SQL Result Beschreibung: Führt mysql_fetch_array aus und gibt Ergebnis zurück Returns: 0/ oder Array von fetch_function Datum: 1.10.2003 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function fetch_array($rs) { //Fetch vom Result return mysql_fetch_array($rs); } /****************************************************************************** Function: result Argumente: $rs -> SQL Result Beschreibung: Führt mysql_fetch_array aus und gibt Ergebnis zurück Returns: 0/ oder Array von fetch_function Datum: 1.10.2003 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function result($rs, $xVar, $name) { //Fetch vom Result return mysql_result($rs,$xVar,$name); } /****************************************************************************** Function: result Argumente: $rs -> SQL Result Beschreibung: Fetch Datensätze mit fetcharray auf und erstellt ein Nummerisches array Returns: 0/ oder Array mit Kompletten ergebniss Datum: 1.10.2003 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function push($rs) { // Array erstellen $rs_array = array(); // Zum ersten Datensatz springen // nicht vergessen einbauen und testen // Datensätze durchlaufen while ($r = mysql_fetch_array($rs)) array_push($rs_array, $r); // Array mit Datensätzen zurückgeben return $rs_array; } /****************************************************************************** Function: row Argumente: $rs -> SQL Result Beschreibung: Zählt Zeilenanzahl Returns: 0/ rows Datum: 1.10.2003 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function row($rs) { //Fetch vom Result return mysql_num_rows($rs); } /****************************************************************************** Function: affected_rows Argumente: Beschreibung: Zählt Zeilenanzahl der betroffenen Datensätze Returns: 0/ affected_rows Datum: 13.10.2004 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function affected_rows() { //Fetch vom Result return mysql_affected_rows(); } /****************************************************************************** Function: insert_id Argumente: Beschreibung: Gibt max ID zurück Returns: 0/ ID Datum: 1.10.2003 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function insert_id() { //insert_id vom Result return mysql_insert_id(); } /****************************************************************************** Function: free_result Argumente: $rs Beschreibung: Leert Recordset Returns: 0/1 Datum: 1.10.2003 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function free_result($rs) { //Leeren vom RS mysql_free_result($rs); } /****************************************************************************** Function: close Argumente: Beschreibung: Schließt die Verbindung zur Datenbank Returns: 0/1 Datum: 10.07.2002 Author: Gerhard Hirscher, Werner Schröck *******************************************************************************/ function close() { GLOBAL $err; //Keine Verbindung also Tschüss if(!$this->status){ $err->add_error("Keine Verbindung zur Datenbank, schließen der Verbindung nicht möglich!", 1); return 0; } // Verbindung schließen if(!@mysql_close($this->id)) { $err->add_error("Schliessen der Datenbankverbindung fehlgeschlagen!", 1); return 0; } // Connectionstatus auf 0 setzen und 1 zurückgeben $this->status = 0; return 1; } } ?> _thema = $thema; } public function load_tpl($tpl, $modul) { $sql= "SELECT tpl FROM tpl WHERE name = '$tpl' AND modul ='$modul' AND thema= '".$this->_thema."'"; $a_tpl= mysql_query($sql); if (mysql_num_rows($a_tpl) < 1) die("template: $tpl oder modul: $modul im thema: ".$this->_thema." fehlerhaft!!! "); else return mysql_result($a_tpl,0,"tpl"); } function load_slider(){ $res= mysql_query("SELECT * FROM slider"); while($r= mysql_fetch_array($res)){ $slide = $this->load_tpl("slideritem", "main"); $slide = str_replace("{img}", $r["sliderImg"], $slide); $list.=$slide; } return $list; } public function show() { GLOBAL $g_a_path; $tpl_design = $this->load_tpl("main", "main"); $page = $_GET["page"]; if(!$page) $page= "home"; require_once("CLASSES/$page.class.php"); $object = new $page(); if($page=="home") $tpl_design = str_replace("{slider}",$this->load_tpl("slider", "slider"), $tpl_design); else $tpl_design = str_replace("{slider}","", $tpl_design); $tpl_design = str_replace("{slider}", $this->load_slider(), $tpl_design); $tpl_design = str_replace("{content}", $object->show(), $tpl_design); $tpl_design = str_replace("{navi}",$this->load_tpl("navi", "main") , $tpl_design); $tpl_design = str_replace("{footer}",$this->load_tpl("footer", "main") , $tpl_design); print $tpl_design; } } ?>