<?
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_note_mysql(&$p_note)
{
// Sicherheitsdaten inkludieren
include("../sec/data.php");
//Verbindung zum Datenbankserver aufbauen
$con=mysqli_connect("localhost",$hk_db,$hk_pw,"leiserberge_at"); //hk mysqli 0108118
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 * from phpcode10 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_note = my_mysqli_result($res,0,"note");
return true;
}
function get_hobbies_mysql(&$p_hobbies)
{
// Sicherheitsdaten inkludieren
include("../sec/data.php");
//Verbindung zum Datenbankserver aufbauen
$con=mysqli_connect("localhost",$hk_db,$hk_pw,"leiserberge_at"); //hk mysqli 0108118
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 * from phpcode10 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_hobbies = my_mysqli_result($res,0,"hobbies");
return true;
}
function set_note_liste($dieNote, &$p_a,&$p_b,&$p_c,&$p_d,&$p_e)
{
// Referenzparameter in Abhängigkeit der der Note setzen
switch($dieNote)
{
case "a":
$p_a=" selected ";
break;
case "b":
$p_b=" selected ";
break;
case "c":
$p_c=" selected ";
break;
case "d":
$p_d=" selected ";
break;
case "e":
$p_e=" selected ";
break;
default:
// Fehler: unerwartete Wert von $note
return false;
break;
}
// alles OK
return true;
}
function set_hobbies_liste($myHobbies,&$p_a,&$p_b,&$p_c,&$p_d,&$p_e)
{
// Defaultwerte setzen
$p_a="";
$p_b="";
$p_c="";
$p_d="";
$p_e="";
$length=strlen($myHobbies);
for($i=0;$i<$length;$i++)
{
switch($myHobbies[$i])
{
case "a":
$p_a=" selected ";
break;
case "b":
$p_b=" selected ";
break;
case "c":
$p_c=" selected ";
break;
case "d":
$p_d=" selected ";
break;
case "e":
$p_e=" selected ";
break;
}
}
// alles OK
return true;
}
// Werte für die Einfachauswahlliste von mySQL-Server abfragen
if (get_note_mysql($note))
{
// Notenwert in die Einfachauswahlliste setzen
if (!set_note_liste($note, $snote_a, $snote_b, $snote_c, $snote_d, $snote_e))
{
// Datenbankfehler
// HTML-Oberfläche wird nicht ausgegeben
return false;
}
}
if (get_hobbies_mysql($hobbies))
{
// Notenwert in die Einfachauswahlliste setzen
if (!set_hobbies_liste($hobbies, $shobby_a, $shobby_b, $shobby_c, $shobby_d, $shobby_e))
{
// Datenbankfehler
// HTML-Oberfläche wird nicht ausgegeben
return false;
}
}
?>
<html>
<head>
<title>Daten zwischen Auswahllisten und mySQL-Datenbank transferieren</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function checkInputPhpCode9()
{
// derzeit keine Syntaxprüfung
return true;
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="inputForm" method="post" action="code10a.php" onSubmit="return checkInputPhpCode9();">
<table border="0" cellspacing="5" cellpadding="0">
<tr>
<td>
<label>Notenliste: </label>
</td>
<td>
<select name ="note" size="1">
<option <? echo($snote_a);?> value="a">Sehr gut</option>
<option <? echo($snote_b);?> value="b">Gut</option>
<option <? echo($snote_c);?> value="d">Befriedigend</option>
<option <? echo($snote_d);?> value="d">Genügend</option>
<option <? echo($snote_e);?> value="e">Nicht genügend</option>
</select>
</td>
</tr>
<td>
<label>Hobbies: </label>
</td>
<td>
<select name ="hobbies[]" size="5" multiple>
<option <? echo($shobby_a);?> value="a">Rad fahren</option>
<option <? echo($shobby_b);?> value="b">Schwimmen</option>
<option <? echo($shobby_c);?> value="c">Segel fliegen</option>
<option <? echo($shobby_d);?> value="d">Fußball spielen</option>
<option <? echo($shobby_e);?> value="e">Tanzen</option>
</select>
<td align="left" valign="bottom">
<input type="submit" name="send" value="DB-Speichern">
</td>
</tr>
</table>
</form>
</body>
</html>