<?
// Datei utility_funktionen.php
// fuer korrekte Darstellung von Sonderzeichen
header("Content-Type: text/html; charset=ISO-8859-1");
// Definition von Konstanten
define("OK",0);
define("ERR",-1);
// Entschluesselung fuer POST-Daten
function my_decode($str)
{
$str=base64_decode(urldecode($str));
return $str;
}
// Datenbankabfrage komplett
function my_db_query($sql,&$res)
{
// Sicherheitsdaten inkludieren
include("../sec/data.php");
//Verbindung zum Datenbankserver aufbauen
$con=mysqli_connect("localhost",$hk_db,$hk_pw,"leiserberge_at");
if (!$con)
{
echo ("Verbindung zu DB-Server/Datenbank kann nicht hergestellt werden: ".mysqli_connect_error()."<br>");
return ERR;
}
mysqli_set_charset($con,"utf8");
//Datenbankabfrage durchfueren
$res=mysqli_query($con,$sql);
if (!$res)
{
echo("<b>Datenbankfehler: </b>".mysqli_error($con));
return ERR;
}
// Verbindung zur Datenbank beenden
mysqli_close($con);
return OK;
}
function my_mysqli_result($res,$crow,$field)
{
// Array definieren
$feldname=array();
// Anzahl der Zeilen/Datensätze der SQL-Abfrage ermitteln
$num_lines = mysqli_num_rows($res);
if ($num_lines < 1)
{
// es gibt keine Datensätze zum Anzeigen
return false;
}
// alle Namen der Tabellenfelder/Tabellenspalten im Array $feldname speichern
for ($i=0;$feldinfo=mysqli_fetch_field($res);$i++)
{
$feldname[$i]=$feldinfo->name;
}
// den Ergebniszeiger der SQL-Abfrage wieder zur ersten Tabellenspalte rücksetzen
mysqli_field_seek($res,0);
// die gewünschte Zeile d.h. den gewünschten Datensatz suchen
for ($i=0; $row = mysqli_fetch_row($res); $i++)
{
if ($i == $crow) // wenn der gewünschte Datensatz gefunden ist
{
// Anzahl der Spalte ermitteln
$anz_spalten=count($row);
// die gewünschte Spalte d.h. das gewünschte Tabellenfeld suchen
for ($j=0; $j<$anz_spalten;$j++)
{
if ($feldname[$j] == $field) // das gewünschte Tabellenfeld ist gefunden
{
// den Ergebniszeiger der SQL-Abfrage wieder zum ersten Datensatz rücksetzen
mysqli_data_seek($res,0);
// die Daten im Datensatz sind in derselben Reihenfolge wie
// die Namen der zuvor ermittelten Tabellenfelder. Daher kann
// der Wert des gewünschten Tabellenfeldes zurückgeliefert werden
return $row[$j];
}
}
}
}
// den Ergebniszeiger der SQL-Abfrage wieder zum ersten Datensatz rücksetzen
mysqli_data_seek($res,0);
// das gewünschte Tabellenfeld wurde nicht gefunden
return false;
}
?>