<?php
// Datenbank öffnen
function OpenDB()
{
global $P_DBTyp;
global $P_Server;
global $P_User;
global $P_Password;
global $P_Database;
	if ($P_DBTyp == "MySQL")
	{
		$verbindung = mysql_connect ($P_Server, $P_User, $P_Password) or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch!");
		mysql_select_db($P_Database) or die ("Die Datenbank existiert nicht.");
	} else die ("Datenbanktyp $P_DBTyp wird nicht unterstützt");
	return $verbindung;
};

// Query-Abfrage ausführen
function MyQuery($SQL)
{
global $P_DBTyp;
	$Query = null;
	if ($P_DBTyp == "MySQL")
	{
		$Query = mysql_query($SQL);
	} else die ("Datenbanktyp $P_DBTyp wird nicht unterstützt");
	if ($Query=="")
		die ("Fehler SQL-Query: ".$SQL);
	return $Query;
};

// Datenzeile lesen
function MyFetchArray($Query)
{
global $P_DBTyp;
	$Zeile = null;
	if ($Query)
	{
		if ($P_DBTyp == "MySQL")
		{
			$Zeile = mysql_fetch_array($Query, MYSQL_ASSOC);
		} else die ("Datenbanktyp $P_DBTyp wird nicht unterstützt");
	}
	return $Zeile;
};

// Anzahl Datenzeile lesen
function MyNumRows($Query)
{
global $P_DBTyp;
	if ($P_DBTyp == "MySQL")
	{
		$Zeilen = mysql_num_rows($Query);
	} else die ("Datenbanktyp $P_DBTyp wird nicht unterstützt");
	return $Zeilen;
};

// Query schließen
function MyFreeResult($Query)
{
global $P_DBTyp;
	$QueryResult = null;
	if ($Query)
	{
		if ($P_DBTyp == "MySQL")
		{
			$QueryResult = mysql_free_result($Query);
		} else die ("Datenbanktyp $P_DBTyp wird nicht unterstützt");
	}
	return $QueryResult;
};

// Datenfeld auslesen
function GetField($DBZeile, $Field)
{
	$Daten = $DBZeile[$Field];
	if ($Daten == "") {
		$Daten = "&nbsp;";
	} else {
		$Daten = htmlentities($Daten, ENT_QUOTES, 'UTF-8');
		$Daten = str_replace("\n", "<br>\n", $Daten);
	}
	return $Daten;
};

// Datenfeld als Ja/Nein Feld auslesen
function GetFieldJN($DBZeile, $Field)
{
	if (GetField($DBZeile, $Field) == 0) {
		$Daten = "Nein";
	} else $Daten = "Ja";
	return $Daten;
};

// Datenfeld als Handbuch-Verzeichnis Feld auslesen
function GetFieldHandbuch($DBZeile, $Field)
{
global $P_DirHandbuch;
global $P_DirProjekt;
	$Daten = GetField($DBZeile, $Field);
	$Chg = "";
	if (strncmp($Daten, "(\$H)", 4) == 0)
	{
		$Chg = $P_DirHandbuch;
	} else if (strncmp($Daten, "(\$P)", 4) == 0)
	{
		$Chg = $P_DirProjekt;
	}
	if ($Chg != "")	// Codierung ersetzen für Anzeige
	{
		$Daten = $Chg . "\\" . substr($Daten, 5);
	}
	if (strcmp($Daten, "&nbsp;"))	// Verzeichnis oder Link oder Datei
	{	// Bei Klick "dl.php" aufrufen, der macht dann die Darstellung der der Datei / Download, je nach Typ
		$Daten = "<a href=\"dl.php?file=".$Daten."\" target=\"_blank\">".$Daten."</a>";
	}
	return $Daten;
};

// Datenfeld auslesen und ausgeben als Preis mit 2..5 Kommastellen
function GetFieldPreis($DBZeile, $Field)
{
	$Daten = $DBZeile[$Field];
	if ($Daten == "") {
		$Daten = "&nbsp;";
	} else {
		$Daten = round($Daten, 5);
		$DezKomma = $Daten - floor($Daten);
		$DezStellen = 0;
		while (($DezKomma > 0) && ($DezStellen < 5))
		{
			$DezStellen = $DezStellen + 1;
			$DezKomma = round($DezKomma * 10, 5 - $DezStellen);
			$DezKomma = $DezKomma - floor($DezKomma);
		}
		if ($DezStellen < 2)
		  $DezStellen = 2;
		$Daten = number_format($Daten, $DezStellen);
	}
	return $Daten;
};

// Bild aus Datenbank auslesen und anzeigen
function Foto($FotoID)
{
	if ($FotoID > 0) // Bild von Bauteil zeigen
	{
		$ergebnis = MyQuery("SELECT * FROM foto WHERE ID=".$FotoID);
		if ($zeile = MyFetchArray($ergebnis))
		{
			$BildTyp = strtolower(GetField($zeile, "BildTyp"));
			//$im = imagecreatefromstring($zeile["Bild"]);
			if ($BildTyp!="")
			{
				//$srcWidth = ImageSX($im);
				//$srcHeight = ImageSY($im);
				echo "\n<img src=\"data:image/".$BildTyp.";base64,".base64_encode($zeile["Bild"])."\">\n";
				//imagedestroy($im);
			}
		}
		MyFreeResult($ergebnis);
	}
};

?>