Dropdown-Feld mit Daten aus SQL-Datenbank füllen

Das Formular und die Eingabe.php sind völlig getrennt.

Zuerst wird das HTML aus der Eingabe.html angezeigt.
Um da Sachen aus der DB mit anzuzeigen wird PHP-Unterstützung benötigt.

Dann gibt der Benutzer was ein und drückt OK.

Die Daten gehen dann an eine PHP-Datei, die beim <form> in action angegeben wurde.


Diese Datei solltest du vllt. nicht Eingabe.php, sondern verarbeitung.php nennen.
Und aus der Eingabe.html kannst du dann auch eine eingabe.php machen,
weil php im Dateinamen eben benötigt wird, damit der PHP-Code auch ausgeführt wird.

Und wenn du eingabe.php in verarbeitung.php umbenennst, nicht vergessen,
den Namen auch in der eingabe.html bei <form> zu ändern.


Bitte Netiquette beachten.
 
Ok dann mache ich das einfach so!
Wieso heißt das dann immer, dass man den PHP-Code auch in der html-Datei auszufüren kann? Oder ist das so, weil das etwas dynamisches ist, das ebend eine PHP-Datei benötigt?
Vielen Dank Dir.
 
Welche Dateiendungen womit verarbeitet werden
kann man in den Apacheeinstellungen ändern (Filehandler).
Standardmäßig gehen nur .php-Dateien an die PHP-Runtime,
die sich um die Ausführung vom Code kümmert.
.html, .css, .js und so weiter werden ohne diesen Schritt an den Client geschickt.

Man könnte das ändern, rate davon aber ab.
Dann könnte man zwar PHP-Code auch in .html-Dateien haben,
das hat aber nicht nur Vorteile (zB. Cachebehandlung).
 
Sorry... hab das mal ausprobiert und den Teil der für das Beladen des Dropdown-Feldes zuständig ist in die eingabe.php zu kopieren und alles Andere (Formularelemente) in der eingab.html gelassen.
Durch den Befehl
PHP:
 <?php include("eingabe.php");?>
an der betreffenden Stelle eingefügt.
Ist aber immer noch das selbe Problem, das das Dropdown-Feld nicht befüllt wird.

Woran kann das jetzt liegen?
 
Eingabe.html:
PHP:
html>
	<head>
		<title>MA-Eingabe</title>
	</head>
	<body>
			<h3>Mitarbeitereingabe</h3><br/>
			<form action="MA-Record.php" method="post">							
			
			 Anrede:<br>
			<select size="1" maxlength="20" name="anr"><br>
			<?php include("Eingabe.php");?>
			</select>			
	
			<br>Vorname:<br>
			<input type="text" size="24" maxlength="50" name="vn"><br>			
			 Nachname:<br>
			<input type="text" size="24" maxlength="50" name="nn"><br>
			 Straße:<br>
			<input type="text" size="24" maxlength="50" name="str"><br>		
			 PLZ:<br>
			<input type="text" size="24" maxlength="50" name="plz"><br>
			 Ort:<br>
			<input type="text" size="24" maxlength="50" name="ort"><br>		
			 Telefon:<br>
			<input type="text" size="24" maxlength="50" name="tel"><br>
			 Handy:<br>
			<input type="text" size="24" maxlength="50" name="mobi"><br>			
			 Email:<br>
			<input type="text" size="24" maxlength="50" name="mail"><br>
			 Geburtsdatum: Form(JJJJ-MM-TT)<br>
			<input type="text" size="24" maxlength="50" name="geb"><br>
			
			<input type="submit" value="Anlegen">
			<input type="reset" value="Formular leeren">
		</form>
	</body>
</html>

Eingabe.php
PHP:
<?php
		//session_start();  // nochmal bearbeiten
		// Verbindung zur Datenbank
		$link = mysql_connect('localhost','root','');	
	
		if (!$link)
		{
			die('Die Verbindung zum Server schlug fehl!: ' . mysql_error());
		}
		else echo "Mit dem Server erfolgreich verbunden <br/>"; 
	
		// Datenbank auswählen
		$db = mysql_select_db("IR",$link);
	
		if (!$db)
		{
			die('Die Verbindung zur Datenbank schlug fehl: ' . mysql_error()."<br/>");
		}
		else echo "Mit der Datenbank erfolgreich verbunden <br/><br/>";	
	
		// SQL-Abfrage auswählen $res = Array
		$res = mysql_query("select * from Mitarbeiter");
		if(!$res)
		{
			echo "Datenbankzugriffsfehler! <br/>";				
		}
		else
		{
			echo "<option> Anrede </option>";
			$sql = "SELECT * FROM anrede"; 
			$result = mysql_query($sql) OR die(mysql_error()); 
			while($row = mysql_fetch_object($result)) 
			{ 		
				echo '<option value="'.$row->Anrede_ID.'">'.$row->Anrede.'</option>';
            }						
        }
?>
 
Zuletzt bearbeitet:
dann verstehe ich nicht wie du das gemeint hattest. ICh dachte mir so das ich den PHP-Code aus der html-datei in eine php-datei (eingabe.php) auslagere und den dann an betreffender Stelle in der eingabe.html durch include einbinde.

Oder verstehe ich das jetzt völlig falsch? Wie würdest du das dann machen?
 
Aber das include ist auch PHP-Code.
Das wird auch nur verarbeitet, wenn der Dateiname auf php endet.

Nochmal, warum willst du das eigentlich auslagern?
 
Dachte mir so das würde so funktionieren ^^. OK dann belasse ich es eben so bei, und mache das wieder in eine Datei (Formular und php-code ) mit der Endung-PHP.
 
Zuletzt bearbeitet:
Zurück