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

Post 7
zB. im Firefox: Rechte Maustaste irgendwo in die Seite (nicht auf Links, Bilder etc.) und dann
Seitenquelltext anzeigen.

Bei reinen HTML-Seiten sieht man dort eben das HTML.
Und bei PHP wird das Programm beim Seitenaufruf ausgeführt
und hat als Ergebnis HTML-Code (alles, was bei echo rauskommt).
Im Browser kann man das wieder als HTML bewundern.
 
Ja hab ich mal ausprobiert mit der eingabe.html...
da wir mir der selbe Quelltext angezeigt, den ich eingangs gepostet habe.
Wie gesagt der Quelltext von PHP befindet sich zwischen den Zeilen 11-50
in HTML-Code eingebettet.
 
:rolleyes:
Benenn die Datei von .html mal in .php um.
(Xampp (oder Ähnliches) hast du aber schon installiert, oder?)

In den Standardeinstellungen wird PHP-Code nur ausgeführt,
wenn die Datei auch auf PHP endet.
Deine ganze Datenbankabfrage etc. ist so gar nicht passiert,
deshalb auch nichts gescheites in der Anzeige.
 
Ah ok...
hier das Ergebnis der Datei eingabe.html -> umbenannt in eingabe.php
PHP:
<html>
	<head>
		<title>MA-Eingabe</title>
	</head>
	<body>
			<h3>Mitarbeitereingabe</h3><br/>
			<form action="" method="post">							
				Anrede:<br>

				<select size="1" maxlength="20" name="anr"><br>
			
	Mit dem Server erfolgreich verbunden <br/>Mit der Datenbank erfolgreich verbunden <br/><br/><option> Anrede </option><option value="1">Frau</option><option value="2">Herr</option>					
			</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>

Xampp läuft und ich kann auch aus der Datenbank auslesen!!

Nachtrag... Das Problem lag an dem Auto_Increment, das zuvor bei dem Attribut Anrede_ID gefehlt hatte ^^.

Trotzdem vielen dank für Eure Unterstützung
 
Zuletzt bearbeitet:
hmmm... hab gerade bemerkt, dass wenn ich die Datei in eingabe.php ändere, das es gut funktiniert. Aber das Formular sollte als eingabe.html gespeichert werden und dann beim Absenden alle Eingaben an die schon bereits existierende datei eingabe.php senden.

Denn in der Eingabe.php sollen die Daten dann erst in die Datenbank geschrieben werden

hier der Code
PHP:
html>
	<head>
		<title>MA-Eingabe</title>
	</head>

	<body>
		<?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/>";
				//echo $res;
			}
			else
			{					
					mysql_query("INSERT INTO mitarbeiter SET anrede_ID='2', vorname='".$_POST["vn"]."' 	
							`Nachname`='".$_POST["nn"]."',
							`Straße`='".$_POST["str"]."',	
							`PLZ`='".$_POST["plz"]."'
					")OR DIE (mysql_error());
																	
					// ermittlung der überg
				
					/*$anzahlDatablock = mysql_affected_rows();
					if($anzahlDatablock > 0)
					{
						echo "Mitarbeiter aufgenommen";						
					}
					else
					{
						echo "Fehler bei der Eingabe!";
					}*/
						//echo $anzahlDatablock;
				//}
			}
		?>
	</body>
</html>
 
Zuletzt bearbeitet:
Dann pack den HTML-Teil mit dem <form> in eine HTML-Datei
und den PHP-Code eben in eine PHP-Datei.
Beim action vom <form> im HTML wird der Name der PHP-Datei eingetragen.
 
Ok... du meinst also den Teil der das Befüllen des Dropdown-Elements, durch PHP in eine extra Datei, mit Php-Endung schreiben und dann an betreffender Stelle in der Html-Datei mit include einbinde, damit das Dropdown-Feldelement auch funktiniert?

Wenn das so geht, mitten drinn ein PHP-Code raus zu nehmen.
Ich versuchs mal.

Geht das nich eleganter... den nur für diesen PHP-Teil extra eine neue PHP-Datei aufmachen?

Kann mann das nicht in nur einer HTML-Datei zusammenfassen?
 
Zuletzt bearbeitet:
Stop, ich hab falsch gedacht. Hab grad an die Eingabe.php gedacht.

So, wie du es mit dem include beschreibst, wäre eine Möglichkeit.
Die HTML-Datei muss aber trotzdem noch die Endung php beim Dateinamen haben.

Zum Extra-neue-PHP-Datei-aufmachen: Das ist es doch.

Zum Alles-in-eine Datei: So ist es zurzeit. Und so willst du es ja anscheinend nicht?
 
naja ich hatte mir so gedacht, das ich schon das Formular mir dem Dropdown-Feld in der eingabe.html lasse und dann wird beim Absenden des Formulars alle eingetragenen Daten in das eingabe.php abgesendet um diese dort mittels mysql_query(); in die Datenbank einlesen lasse.
Wenn ich jetzt zusätzlich nur für das Befüllen des Dropdown-Feldelements noch eine dritte datei aufmachen muss mit der PHP-Endung drann, finde ich das umständlich.

Das Formular und das Befüllen des drobdown-Feldelement sollen in einer Datei (einbinden.html) stehen und in der Datei einbinden.php sollen die Daten aus einbinden.html in die Datenbank geschrieben werden.

Geht das nicht so?

hier mal ein Beitrag von: http://blog.tameco.de/php-code-in-html-dateien-ausfuehren-12631.html

Wenn man eine Website hat, die überwiegend aus statischen Seiten mit .html-Endung besteht, ist man mit der Zeit möglicherweise unzufrieden, weil man bestimmte dynamische Inhalte nicht ausführen kann. Sofern die Website allerdings auf einem Apache Webserver liegt, gibt es für das Problem eine einfache Lösung.

Dank der .htaccess-Datei kann man HTML-Dateien dazu bringen, PHP-Code auszuführen. Dazu muss man nur eine Zeile in der .htaccess-Datei ergänzen:

AddType application/x-httpd-php .html

Der Webserver führt dank dieser Anweisung PHP auch auf Dateien aus, die auf .html enden. Ohne die Anweisung geht es nicht.
 
Zuletzt bearbeitet:
Zurück