# Datenbank anlegen und über eine Website mit Daten füllen?



## Celine (22. Dez 2019)

Hallo zusammen, 

ich bin Lehrerin (leider nicht Informatik) und habe folgendes Problem: Ich möchte eine Webseite erstellen, auf welcher die Schüler eine ID und Antworten (Ja/Nein) auf 5 Fragen eingeben sollen.
Ihre ID und ihre Antworten sollen in einer Datenbank gespeichert werden.
Mit Hilfe der Daten kann ich dann ein Diskussionsspiel erstellen.
WIE KANN ICH DAS AM EINFACHSTEN UMSETZEN?

Ich habe aus meiner eigenen Schulzeit Grundkenntnisse in Java, bin aber kein crack und habe mich jetzt gerade erst in die Basics von Datenbanken eingelesen.
Könnt ihr mir sagen, wie ich mein Vorhaben in etwa umsetzen kann?
Ist Java als Sprache überhaupt geeignet für dieses Projekt? Oder sollte ich es mit PHPmyAdmin versuchen?

Bitte seid nicht allzu fies zu mir, ich weiß ich bin unwissend .


----------



## mihe7 (22. Dez 2019)

Celine hat gesagt.:


> ich bin Lehrerin


Mein Beileid  



Celine hat gesagt.:


> WIE KANN ICH DAS AM EINFACHSTEN UMSETZEN?


Ist Moodle (https://moodle.org/) nicht genau für derlei Dinge konzipiert?


----------



## M.L. (23. Dez 2019)

Man kann es mit vorgefertigten Lösungen versuchen.  Immerhin ist bei einer Eigenimplementierung (egal ob mit Java/PHP/...) einiges zu beachten: welche Nutzer sind angemeldet und zur jeweiligen DB-Aktion authorisiert ?   Verwendung von Prepared Statements, usw.... : https://www.php-einfach.de/mysql-tutorial/daten-einfuegen/ SO - Inserting records in MYSQL with Java


----------



## kneitzel (23. Dez 2019)

Ich überlege derzeit, ob da eine RAD Lösung wie die Cuba Platform nützlich sein könnte, aber ich fürchte für so unbedarfte wird das auch schnell nach hinten los gehen.

Da wäre es schon fast einfacher, das ggf eben selbst zu bauen und Dir zu geben. Nur eben kommen dann immer schnell weitere Wünsche und Anforderungen.


----------



## Celine (23. Dez 2019)

JustNobody hat gesagt.:


> Ich überlege derzeit, ob da eine RAD Lösung wie die Cuba Platform nützlich sein könnte, aber ich fürchte für so unbedarfte wird das auch schnell nach hinten los gehen.
> 
> Da wäre es schon fast einfacher, das ggf eben selbst zu bauen und Dir zu geben. Nur eben kommen dann immer schnell weitere Wünsche und Anforderungen.


Danke schonmal für deine Antwort. Weitere Wünsche habe ich garantiert nicht .


----------



## Celine (23. Dez 2019)

M.L. hat gesagt.:


> Man kann es mit vorgefertigten Lösungen versuchen.  Immerhin ist bei einer Eigenimplementierung (egal ob mit Java/PHP/...) einiges zu beachten: welche Nutzer sind angemeldet und zur jeweiligen DB-Aktion authorisiert ?   Verwendung von Prepared Statements, usw.... : https://www.php-einfach.de/mysql-tutorial/daten-einfuegen/ SO - Inserting records in MYSQL with Java


Hi, was wäre denn eine vorgefertigte Lösung?


----------



## Celine (23. Dez 2019)

mihe7 hat gesagt.:


> Mein Beileid
> 
> 
> Ist Moodle (https://moodle.org/) nicht genau für derlei Dinge konzipiert?


Hi, ich wollte zumindest versuchen, es selbst zu machen, doch ich weiß einfach nicht, wo ich anfangen soll.


----------



## kneitzel (23. Dez 2019)

Also das "selber machen" sehe ich als sehr schwierig an. Es kommen da dann doch einige Dinge zusammen:
a) Datenbank selbst - bei sowas kleinem kann man kaum etwas falsch machen, aber dennoch muss man da erst mal was erstellen.
b) Zugriff auf die Datenbank. Das bedeutet mind. JDBC aber besser dann doch auch gleich eine Lösung, die einem viel Arbeit abnimmt und dann ist man schnell bei JPA / Hibernate / ....
c) Web - da wird man dann zumindest HTML Grundlagen können müssen ...

Aber wenn es darum geht, einen Anfang zu finden, dann würde ich einfach mal auf "Java ist auch eine Insel" verweisen.
-> Java Server Pages / Servlets: Kapitel 23: http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_23_001.htm
-> Zugriff auf Datenbanken in Kapitel 24: http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_24_001.htm

Damit könnte man schon einmal etwas aufbauen.


----------



## mihe7 (23. Dez 2019)

OK, das was Du beschreibst, ist kein Hexenwerk. Wenn ich es richtig verstanden habe, soll sich niemand Einloggen müssen, sondern seine ID einfach in einem Formular eingeben. 

Das lässt sich einfach mit einer HTML-Seite als Formular (method POST) realisieren, als Action kannst Du ein PHP-Script angeben, das drei Dinge macht:

1. die Daten validieren, wenn was falsch ist, auf das Formular umleiten
2. Ansonsten die Daten abspeichern und 
3. Auf eine Bestätigungsseite umleiten

Wenn Du es etwas moderner haben willst, dann machst Du den Client in JavaScript, d. h. Punkte 1 und 3 werden (auch) im Browser ausgeführt, die Daten werden mit der Fetch API an den Server als JSON übertragen. 

Java finde ich für eine Seite fast schon zu viel, außer Du hast grds. vor, das zu lernen und/oder öfter derlei Projekte umzusetzen. Natürlich muss Dir klar sein, dass Du dann auch einen Server brauchst, auf dem Du Java ausführen kannst. Also ein x-beliebiges Web-Hostingpaket klappt da nicht.


----------



## Xyz1 (23. Dez 2019)

Das sollte prinzipiell genau das machen, was Du möchtest, wenn Du JPA etc. umgehen möchtest https://javalin.io/tutorials/website-example https://github.com/tipsy/javalin-website-example

(nur eben nicht mit Books sondern Answers)

Damit habe ich auch schon ein paar simple RESTful Webservices umgesetzt.


----------



## Celine (23. Dez 2019)

*mihe7:*
Das lässt sich einfach mit einer HTML-Seite als Formular (method POST) realisieren, als Action kannst Du ein PHP-Script angeben, das drei Dinge macht:
1. die Daten validieren, wenn was falsch ist, auf das Formular umleiten
2. Ansonsten die Daten abspeichern und
3. Auf eine Bestätigungsseite umleiten

*Ja, genau das will ich. Die Daten sollen dann in einer Datenbank landen, die ich auf meinem Rechner speichere oder vllt auf einem anderen Rechner, sodass ich dann eine Tabelle mit 60-70 Einträgen haben. Dann sollte ich also mit HTML-Pauken beginnen? *

Wenn Du es etwas moderner haben willst, dann machst Du den Client in JavaScript, d. h. Punkte 1 und 3 werden (auch) im Browser ausgeführt, die Daten werden mit der Fetch API an den Server als JSON übertragen.

Java finde ich für eine Seite fast schon zu viel, außer Du hast grds. vor, das zu lernen und/oder öfter derlei Projekte umzusetzen. Natürlich muss Dir klar sein, dass Du dann auch einen Server brauchst, auf dem Du Java ausführen kannst. Also ein x-beliebiges Web-Hostingpaket klappt da nicht.
[/QUOTE]


----------



## kneitzel (23. Dez 2019)

Also wenn es nicht Java sein muss, dann wäre mein Tipp, einmal DaDabik anzusehen. Das ist ein kommerzielles Tool, aber die Einzellizenz (für die es nicht ein Jahr freie Upgrades und auch keine Update Lizenzen gibt) kostet derzeit 9€ für eine Applikation.

Da wäre das Vorgehen:
a) Die Datenbank erstellen. Dies ist der erste Schritt. Dazu kann man die üblichen Frontends verwendet, die es für die einzelnen Datenbanken so gibt.
b) Nachdem die Datenbank fertig ist, dann wird DaDaBik darauf aufgerufen. DaDaBik legt weitere Tabellen an, die dann die Daten rund um die Applikation beinhalten.

Damit wäre aus meiner Sicht so ein Vorhaben schnell und einfach umsetzbar. Serverseitig reicht dann zum einen eine Datenbank (z.B. mysql) und ein Webserver mit php Support. Das läuft somit prinzipiell fast überall. Angefangen von einem kleinen RaspberryPi (Ok, der ist etwas lahm, was IO angeht, aber für paar Schüler, die darauf zugreifen wollen würde es sogar schon fast reichen ...) bis hin zu den üblichen Angeboten von Providern.


----------



## Celine (23. Dez 2019)

JustNobody hat gesagt.:


> Also wenn es nicht Java sein muss, dann wäre mein Tipp, einmal DaDabik anzusehen. Das ist ein kommerzielles Tool, aber die Einzellizenz (für die es nicht ein Jahr freie Upgrades und auch keine Update Lizenzen gibt) kostet derzeit 9€ für eine Applikation.
> 
> Da wäre das Vorgehen:
> a) Die Datenbank erstellen. Dies ist der erste Schritt. Dazu kann man die üblichen Frontends verwendet, die es für die einzelnen Datenbanken so gibt.
> ...


*Dann müsste ich nur noch wissen, wie ich einen mySQL-Server und einen Web-Server einrichte. *


----------



## kneitzel (23. Dez 2019)

Auf welchem Betriebssystem willst Du dies machen? Was ist das für ein System?

Es gibt viele Wege, die zum Ziel führen können. Wenn man einen kompakten Installer haben möchte, dann kann man z.B. XAMPP nehmen, dann hat man Apache (Webserver) MySQL/MariaDB (Datenbank) und Php / Perl alles zusammen.
https://www.apachefriends.org/de/index.html

Das hat dann den Vorteil, dass da auch gewisse Tools mit dabei sind bzw. einfach installiert werden können. So kann man dann Datenbanken mittels phpMyAdmin verwalten / editieren...


----------



## Celine (23. Dez 2019)

JustNobody hat gesagt.:


> Auf welchem Betriebssystem willst Du dies machen? Was ist das für ein System?
> 
> Es gibt viele Wege, die zum Ziel führen können. Wenn man einen kompakten Installer haben möchte, dann kann man z.B. XAMPP nehmen, dann hat man Apache (Webserver) MySQL/MariaDB (Datenbank) und Php / Perl alles zusammen.
> https://www.apachefriends.org/de/index.html
> ...


*Windows. Ich möchte es aber gern wie von mihe7 beschrieben machen. *


----------



## mihe7 (23. Dez 2019)

Besorg dir einen XAMPP-Stack (https://www.apachefriends.org/de/download.html), damit sollte die Installation relativ leicht zu bewerkstelligen sein (https://www.webmasterpro.de/coding/...er-testserver-einrichtung-und-verwendung.html).

Danach kannst Du mal anfangen, eine einfache HTML-Seite zu erzeugen. Hier brauchst Du natürlich einen guten Texteditor, Visual Studio Code (https://code.visualstudio.com/) kann man hier guten Gewissens empfehlen.

Hast Du in Dein htdocs-Verzeichnis eine Datei aufgabe.html angelegt, solltest Du im Browser die Seite über http://localhost/aufgabe.html laden können. Änderst Du die Dateiendung von html auf php, dann müsste (ist Konfigurationssache) die Datei automatisch von PHP verarbeitet werden, bevor sie den Browser erreicht.

In PHP kann HTML und PHP-Code gemischt werden. Unter https://gist.github.com/01-Scripts/535068 siehst Du Beispiele, wie so etwas aussieht. Unter php.net findest Du die Doku zu PHP. Und bei Fragen, kannst Du natürlich fragen


----------



## AndiE (23. Dez 2019)

"ilias" läuft unter XAMP und PHP.. Wäre doch genau das Richtige.


----------



## Celine (24. Dez 2019)

mihe7 hat gesagt.:


> Besorg dir einen XAMPP-Stack (https://www.apachefriends.org/de/download.html), damit sollte die Installation relativ leicht zu bewerkstelligen sein (https://www.webmasterpro.de/coding/...er-testserver-einrichtung-und-verwendung.html).
> 
> Danach kannst Du mal anfangen, eine einfache HTML-Seite zu erzeugen. Hier brauchst Du natürlich einen guten Texteditor, Visual Studio Code (https://code.visualstudio.com/) kann man hier guten Gewissens empfehlen.
> 
> ...


*Vielen Dank für deine Hilfe. Ich habe jetzt mit Notepad eine HTML-Seite mit Kontaktformular erstellt. Xampp habe ich runtergeladen und versuche nun, meine HTML-Seite über PHP mit der Datenbank zu verknüpfen. Bin gespannt, ob ich es schaffe.*


----------



## White_Fox (27. Dez 2019)

Celine hat gesagt.:


> Dann sollte ich also mit HTML-Pauken beginnen?


Man sollte zwar wissen wie HTML funktioniert, aber es wäre doch enttäuschend wenn es keine vernünftigen WYSIWYG*-Editoren gibt. Und siehe da:








						Write A Bug-Free Code With The Help Of These Best HTML Editors
					

Who doesn’t want a tool that can auto-complete the line of your code, highlight the syntax, and can check the spellings. Well, we all does. Right? All standard languages have their own set of rules to follow and there are HTML editors available to provide you the accurate code for your project.




					blog.templatetoaster.com
				











						Online HTML Editor
					

The best real-time online HTML editor with dynamic instant live visual preview, inline WYSIWYG editor and source cleaning features. Includes a HTML viewer



					html-online.com
				




Und es gibt bestimmt noch mehr. (Ich habe aber keinen einzigen gestestet, da ich nix mit HTML mache.)



Celine hat gesagt.:


> Notepad


Na, da würde ich dir doch lieber Notepadd++ empfehlen. Der ist dir da deutlich hilfreicher. Versprochen. 





						Downloads | Notepad++
					






					notepad-plus-plus.org
				





*








						WYSIWYG – Wikipedia
					






					de.wikipedia.org


----------



## thecain (27. Dez 2019)

WYSIWYG für HTML ist ähnlich wie Gui Builder für Java... Nicht wirklich zu empfehlen...


----------



## Thomas W (1. Jun 2021)

Ich habe ein ähnliches Problem wie Celine.

Meine Schüler haben eine recht umfangreiche Excel-Tabelle mit den Daten von Soldaten aus Bottrop erstellt, die im ersten Weltkrieg gefallen sind. Die Urliste hatten wir aus dem dortigen Stadtarchiv.
Nun würde ich gerne daraus eine Webseite erstellen, weiß aber ebenfalls nicht, wie ich das bewerkstelligen kann. kann mir da vielleicht jemand helfen?

Bin für jeden Tipp dankbar.


----------



## Oneixee5 (1. Jun 2021)

Thomas W hat gesagt.:


> Ich habe ein ähnliches Problem wie Celine.
> 
> Meine Schüler haben eine recht umfangreiche Excel-Tabelle mit den Daten von Soldaten aus Bottrop erstellt, die im ersten Weltkrieg gefallen sind. Die Urliste hatten wir aus dem dortigen Stadtarchiv.
> Nun würde ich gerne daraus eine Webseite erstellen, weiß aber ebenfalls nicht, wie ich das bewerkstelligen kann. kann mir da vielleicht jemand helfen?
> ...


Möglicherweise kann man die Datei per Google-Docs veröffentlichen.


----------



## mihe7 (1. Jun 2021)

Thomas W hat gesagt.:


> Ich habe ein ähnliches Problem wie Celine.
> 
> Meine Schüler haben eine recht umfangreiche Excel-Tabelle mit den Daten von Soldaten aus Bottrop erstellt, die im ersten Weltkrieg gefallen sind. Die Urliste hatten wir aus dem dortigen Stadtarchiv.
> Nun würde ich gerne daraus eine Webseite erstellen, weiß aber ebenfalls nicht, wie ich das bewerkstelligen kann. kann mir da vielleicht jemand helfen?
> ...


Excel dürfte eine Tabelle auch als HTML exportieren können. Die Frage ist wirklich, was genau Du machen/haben willst.


----------



## kneitzel (1. Jun 2021)

Kleiner Hinweis: Eigener Thread vom Fragesteller wäre hier zu finden: https://www.java-forum.org/thema/da...eite-aus-einer-exceltabelle-erstellen.192291/


----------



## mihe7 (1. Jun 2021)

Danke, den Thread hab ich dann auch gesehen - nach dem Abschicken, versteht sich. Also weiter in https://www.java-forum.org/thema/da...eite-aus-einer-exceltabelle-erstellen.192291/


----------



## Coffee_1 (28. Jun 2021)

Thomas W hat gesagt.:


> Ich habe ein ähnliches Problem wie Celine.
> 
> Meine Schüler haben eine recht umfangreiche Excel-Tabelle mit den Daten von Soldaten aus Bottrop erstellt, die im ersten Weltkrieg gefallen sind. Die Urliste hatten wir aus dem dortigen Stadtarchiv.
> Nun würde ich gerne daraus eine Webseite erstellen, weiß aber ebenfalls nicht, wie ich das bewerkstelligen kann. kann mir da vielleicht jemand helfen?
> ...


Deine Frage ist sehr Umfangreich.  "Weis aber nicht wie" ist leider keine eindeutige Fragestellung. Wie weit bist du mit deinen Schülern bei der Website? Grundkentnisse in PHP und MySQL sind da schon mal Voraussetzung. Auch Exeltabellen müssen erst mal für PHP formatiert werden. Es ist eigentlich nicht schwer, nur bleibt die Frage, wie weit seit ihr mit eurem Vorhaben und wo genau benötigt ihr Hilfe?


----------

