wie kann ich eine sql datenbank in html einbinden?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Html ist nur eine Auszeichnungssprache (keine Programmiersprache). Außerdem wird Html nur clientseitig "ausgeführt" oder besser gesagt gerendert.

Um Datenbankzugriffe zu machen brauchst du zum einen eine Programmiersprache. Und zum anderen muss diese Programmiersprache serverseitig arbeiten, wenn du auf eine serverseitige Datenbank zugreifen willst. Für das serverseitige kannst du PHP aber auch Python, Java, C# und viele andere Sachen verwenden.

(PS: es gibt auch clientseitige Datenbanken, diese werden vom Browser angeboten und sind mit Javascript anzusprechen - das ist aber nicht vergleichbar mit einer serverseitigen Datenbank)

Hose2345 
Fragesteller
 20.01.2019, 17:19

wie kann ich die serverseitige Programierung vornehmen bzw wo soll ich diese abspeichern?(klingt jetzt vlt etwas doof aber davon habe ich noch nicht viel Ahnung)

0
DreiGegengifts  20.01.2019, 17:32
@Hose2345
klingt jetzt vlt etwas doof 

Nein das ist genau die richtige und eine der entscheidenden Frage um in das Thema Webprogrammierung einzusteigen.

Um eine Webseite ausliefern zu können brauchst du einen Webserver. In diesem Webserver läuft dein Python-, PHP,- Java- etc -Programm. Dieses Programm nimmt dann einen Request entgegen, verarbeitet ihn (z.B. durch Abfragen auf die Datenbank) und generiert dann ein HTML-Dokument, das an den Client (Browser) zurück geschickt wird.

Bei PHP gibt es für die Entwicklung so Bundles, in denen ein lokaler Webserver (die sind dann über localhost erreichbar), Datenbank, Datenbank-Administrations-Tool (PHPmyAdmin), PHP Interpreter und weitere Tools enthalten sind. Das bekannteste dieser Bundles ist wohl XAMPP.

Bei Python bietet sich ein Webframework wie Flask an, das auch gleich mit einem Webserver kommt und eine SQLite DB mitbringt.

bzw wo soll ich diese abspeichern?

Abgespeichert wird der Sourcecode (bei Scriptsprachen wie Python oder PHP) bzw die Kompilate (Java, C# etc) in dem dafür vorgesehenen Verzeichnis auf dem Webserver. Das ist von Webserver zu Webserver unterschiedlich.

2
Hose2345 
Fragesteller
 21.01.2019, 09:51
@DreiGegengifts

Vielen dank erstmal für diese ausfühliche antwort. Auch wenn ich das meiste von dem was sie mir versucht haben zu erklären noch nicht verstanden habe, bin ich froh darüber da ich mich jezt explizit darüber schlaumachen kann. XAMPP habe ich auch verwendet obwohl ich nicht weis wofür es benötigt wird (#skriptkiddy :D). Ich werde die seite ziemlich sicher auf dem raspberry mit der apache software hosten da es für mich die leichteste und praktischste lösung ist. Jezt nur noch eine kleine Verständnissfrage; hab ich es richtig veratanden das ich auser html (und ja ich weis und wuste auch schon vor der Frage das html keine programiersprache ist xD) noch mindestens eine weitere Programmiersprache wie python oder php benötige?

Vielen Dank und liebe Grüsse

Hose2345

0
DreiGegengifts  21.01.2019, 19:31
@Hose2345

Also du musst es nicht auf einem Raspberry hosten.

Normalerweise ist ein Server ja ein Computer, der irgendwo in einem Netzwerk steht und auf dem eine Server-Software läuft, die Anfragen annehmen kann (steht so ein Server im Internet und liefert Webseiten aus, dann nennt man das übrigens Webserver). So eine Server-Software kann man aber auch mit wenigen Klicks auf dem eigenen PC installieren. Dieser Server auf dem eignen PC ist dann über localhost erreichbar ("localhost" oder "127.0.0.1" ist eine Spezialadresse, die für den eigenen Computer steht).

XAMPP stellt genau so eine Webserver-Software bereit. Wenn das installiert ist und die Webserver-Software (Apache) gestartet ist, kannst du in deine Browserzeile sowas eingeben: http://localhost:8080/index.html und deine Webseite erscheint.

Jezt nur noch eine kleine Verständnissfrage; hab ich es richtig veratanden das ich auser html (und ja ich weis und wuste auch schon vor der Frage das html keine programiersprache ist xD) noch mindestens eine weitere Programmiersprache wie python oder php benötige?

Für statische Webseiten reicht HTML (statisch heißt, dass du auf deinem Server z.B. die HTML-Datei "homepage.html" liegen hast und die 1:1 so wie sie ist jedem angezeigt wird). Dafür brauchst du nicht mal weitere Software. Du kannst die HTML-Datei direkt im Browser anzeigen lassen.

Wenn du aber Datenbankzugriffe machen willst und den Seiteninhalt auf den Besucher zuschneiden willst, dann brauchst du eine Programmiersprache und Server-Software.

1

Eine Datenbank ist nicht an eine bestimmte Programmiersprache gebunden. Fast für jede Programmiersprache ist eine Entwicklungsumgebung erhältlich, die embedded SQL anbietet. Das heißt, dass das erstellte Programm auf die Datenbank zugreifen kann, indem es SQL-Anweisungen an die Datenbank schicken und Antworten der Datenbank entgegennehmen kann.

Für manche Compiler ist eine datenbankspezifisches Vorcompilierung erforderlich. Bei meiner Entwicklungsumgebung (COBOL) wird bei der Verwendung einer IBM Datenbank DB2 das Precompilieren vom COBOL-Compiler miterledigt, was vor allem beim Debuggen sehr vorteilhaft ist. Man kann da sich direkt anschauen, was das Programm abgeschickt und was es bekommen hat. Zum Modifizieren kann man dann den Befehl auch unabhängig vom Programm selbst an die Datenbank schicken, um Ungereimtheiten herauszufinden. Da findet man die Fehler schon, bevor man danach sucht.

wie kann ich eine sql datenbank in html einbinden?
geht das überhaupt?

Eine Datenbank wird nicht "eingebunden". Eine Datenbank liegt auf einem Datenbankserver. Inhalte aus dieser Datenbank werden über eine Abfragesprache (z. B. SQL) ausgelsesen und an den Webserver geschickt.

Auf dem Webserver wird mit Hilfe einer Programmiersprache eine HTML-Seite erstellt. Diese HTML-Seite wird dann an den Browser geschickt und von diesem dargestellt.

muss ich noch PHP lernen?

Du benötigst zunächst Kenntnisse der SQL, mit der Du die Datebank abfragst. Dann benötigst Du Kenntnisse der Sprache, die das Ergebnis in eine HTML-Seite umwandelt (zum Beispiel PHP, Python, Ruby, ASP, Perl oder ...)

Welche weitere Methoden gibt es?

Keine.

Alex