Moin,
erstmal danke für die Antworten (vor allem dir Janosch, weil du deine immer wieder überarbeitest).
Ich hab das jetzt mit nem XMLHttpRequest realisiert und es funktioniert einwandfrei.
Hier mein Code:
Javascript:
function zeigFach(name){
if(name == ""){
document.getElementById("fachWahl").innerHTML = "";
return;
} else{
if (window.XMLHttpRequest) {
// Code für IE7+, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// Code für IE6 und IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("fachWahl").innerHTML = this.responseText;
}
};
xmlhttp.open("GET","getfach.php?name="+name,true);
xmlhttp.send();
}
}
HTML:
<h1>Personen</h1>
<p>Bitte wählen Sie eine Person und das Fach aus.</p>
<?php include('php/message.php'); ?>
<label for="person">Person:</label><br>
<select name="person" id="person" onchange="javascript:zeigFach(this.value);">
<option value="" selected>Bitte wählen Sie eine Person...</option>
<?php while($row = $ldata->fetch_array(MYSQLI_ASSOC)): ?>
<option value="<?php echo $row['Name']; ?>" ><?php echo $row['Anrede'] . ' ' . $row['Titel'] . ' ' . $row['Vorname'] . ' ' . $row['Name'] . ', ' . $row['Fach 1'] . ' / ' . $row['Fach 2'] . ' / ' . $row['Fach 3']; ?></option>
<?php endwhile; ?>
</select><br>
<div id="fachWahl">Bitte wählen Sie eine Person um weiter Informationen zu erhalten.</div>
Die Datei getfach.php:
include 'php/connect.php';
if($mysqli->connect_error){
$message['fehler'] = 'Datenverbindung fehlgeschlagen: ' . $mysqli->connect_error;
} else{
// Name abrufen
$person = $_GET['name'];
// Tabellen abfrage 2
$data2 = sprintf(
"SELECT `Fach 1`, `Fach 2`, `Fach 3`, `Info`, `Raum`
FROM `Personen`
WHERE `Name` = '%s'",
$mysqli->real_escape_string($person)
);
$ldata2 = $mysqli->query($data2);
$lrow = $ldata2->fetch_array(MYSQLI_ASSOC);
// Formular ausgeben
echo '<form method="post" action="person.php">
<label for="fach">Fächer:</label><br>
<input type="button" name="f1" id="fach" value="' . $lrow['Fach 1'] . '">
<input type="button" name="f2" id="fach" value="' . $lrow['Fach 2'] . '">
<input type="button" name="f3" id="fach" value="' . $lrow['Fach 3'] . '"><br>
<br>
<fieldset>
<p><b>Info: </b>' . $lrow['Info'] . '</p>
<p><b>Raum: </b>' . $lrow['Raum'] . '</p>
</fieldset>
<br>
<input type="submit" name="absenden" value="Weiter">
</form>';
}
Danke nochmal
Franky