<?
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;
}
function get_hobby_mysql(&$p_hobby)
{
// 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 false;
}
mysqli_set_charset($con,"utf8");
// SQL-Abfragestring festlegen
// In der Tabell soll es nur genau einen Datensatz geben
$sqlab="select hobby from phpcode11 where id=1;";
// Datenbankabfrage starten
$res=mysqli_query($con,$sqlab);
if (!$res)
{
// Datenbankabfrage liefert kein Ergebnis
return false;
}
$num=mysqli_num_rows($res);
if ($num > 1)
{
return false;
}
if ($num < 1)
{
return false;
}
// Defaultwerte der Parametervariablen auf einen Leerstring setzen
$p_note = "";
// Daten aus der mySQL-DB auf die Parametervariablen setzen
$p_hobby = my_mysqli_result($res,0,"hobby");
return true;
}
function get_gewohnheiten_mysql(&$p_gewohnheiten)
{
// 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 false;
}
mysqli_set_charset($con,"utf8");
// SQL-Abfragestring festlegen
// In der Tabell soll es nur genau einen Datensatz geben
$sqlab="select gewohnheiten from phpcode11 where id=1;";
// Datenbankabfrage starten
$res=mysqli_query($con,$sqlab);
if (!$res)
{
// Datenbankabfrage liefert kein Ergebnis
return false;
}
$num=mysqli_num_rows($res);
if ($num > 1)
{
return false;
}
if ($num < 1)
{
return false;
}
// Defaultwerte der Parametervariablen auf einen Leerstring setzen
$p_hobbies = "";
// Daten aus der mySQL-DB auf die Parametervariablen setzen
$p_gewohnheiten = my_mysqli_result($res,0,"gewohnheiten");
return true;
}
function set_hobby_radio($meinHobby, &$p_a,&$p_b,&$p_c)
{
// Referenzparameter in Abhängigkeit der der Note setzen
switch($meinHobby)
{
case "a":
$p_a=" checked ";
break;
case "b":
$p_b=" checked ";
break;
case "c":
$p_c=" checked ";
break;
default:
// Fehler: unerwartete Wert von $note
return false;
break;
}
// alles OK
return true;
}
function set_gewohnheiten_checkbox($meineGewohnheiten,&$p_a,&$p_b,&$p_c)
{
// Defaultwerte setzen
$p_a="";
$p_b="";
$p_c="";
$length=strlen($meineGewohnheiten);
for($i=0;$i<$length;$i++)
{
switch($meineGewohnheiten[$i])
{
case "a":
$p_a=" checked ";
break;
case "b":
$p_b=" checked ";
break;
case "c":
$p_c=" checked ";
break;
default:
// Fehler: unerwartete Wert
return false;
break;
}
}
// alles OK
return true;
}
// Werte für die Einfachauswahlliste von mySQL-Server abfragen
if (get_hobby_mysql($hobby))
{
// Notenwert in die Einfachauswahlliste setzen
if (!set_hobby_radio($hobby, $shobby_a, $shobby_b, $shobby_c))
{
// Datenbankfehler
// HTML-Oberfläche wird nicht ausgegeben
return false;
}
}
if (get_gewohnheiten_mysql($gewohnheiten))
{
// Notenwert in die Einfachauswahlliste setzen
if (!set_gewohnheiten_checkbox($gewohnheiten, $shabit_a, $shabit_b, $shabit_c))
{
// Datenbankfehler
// HTML-Oberfläche wird nicht ausgegeben
return false;
}
}
?>
<html>
<head>
<title>Daten zwischen Kontroll- und Optionsfelder und mySQL-Datenbank transferieren</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function checkInputPhpCode11()
{
// derzeit keine Syntaxprüfung
return true;
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="inputForm" method="post" action="code11a.php" onSubmit="return checkInputPhpCode11();">
<table border="0" cellspacing="5" cellpadding="0">
<tr>
<td height="15"></td>
<td></td>
</tr>
<tr>
<td><b>Meine Gewohnheiten:</b></td>
<td></td>
</tr>
<tr>
<td>
<label>Nichtraucher</label>
</td>
<td>
<input name="gewohnheit[]" type="checkbox" value="a" <? echo($shabit_a); ?>>
</td>
</tr>
<tr>
<td>
<label>Vegetarier</label>
</td>
<td>
<input name="gewohnheit[]" type="checkbox" value="b" <? echo($shabit_b); ?>>
</td>
</tr>
<tr>
<td>
<label>Alkoholiker</label>
</td>
<td>
<input name="gewohnheit[]" type="checkbox" value="c" <? echo($shabit_c); ?>>
</td>
</tr>
<tr>
<td height="15"></td>
<td></td>
</tr>
</tr>
<tr>
<td><b>Mein liebstes Hobby:</b></td>
<td></td>
</tr>
<tr>
<td>
<label>Schwimmen</label>
</td>
<td>
<input name="hobby" type="radio" value="a" <? echo($shobby_a); ?>>
</td>
</tr>
<tr>
<td>
<label>Fußball spielen</label>
</td>
<td>
<input name="hobby" type="radio" value="b" <? echo($shobby_b); ?>>
</td>
</tr>
<tr>
<td>
<label>Rad fahren</label>
</td>
<td>
<input name="hobby" type="radio" value="c" <? echo($shobby_c); ?>>
</td>
<td>
<td align="left" valign="bottom">
<input type="submit" name="send" value="DB-Speichern" >
</td>
</tr>
</table>
</form>
</body>
</html>