Statische Webseiten erstellen aus MySQL Datenbank

gulo92

Mitglied
Hallo,

ich steh gerade auf dem Schlauch und frage mich, wie es möglich wäre, automatisch aus neu hinzugefügten Daten in einer mySQL Datenbank, statische HTML Seiten, also mit festen Inhalten zu erstellen. Also ich füge einen neuen Datensatz in meiner MySQL Tabelle hinzu und es wird automatisch eine Datei z.B. .../neuer-datensatz-1.html erstellt, in der alle neuen Daten "für immer" gespeichert sind und nicht jedesmal neu aus der Datenbank geholt werden müssen. Ich weiß, schwer zu beschreiben. Auf jeden Fall suche ich da einen Ansatz oder einen Begriff wonach ich googlen könnte...

Danke euch!
 
Hi

Mach einen Cronjob (etwas, was regelmäßig ausgeführt wird, zB. jede Minute),
lies im dazugehörenden PHP-Skript alle neuen Datensätze aus
(erkennbar zB. an der ID, doer Timestamp, oder...je nach DB unterschiedlich)
und erstell mit PHP passende Dateien.


Oder willst du vllt., dass:
Der Benutzer diese HTMl-Dateien aufrufen kann, aber sie in Wirklichkeit doch aus der DB kommen
(und es nur im Browser so ausschaut, als wären es echte Dateien)?
Für sowas: ModRewrite.

Gruß
 
Also ich füge einen neuen Datensatz in meiner MySQL Tabelle hinzu und es wird automatisch eine Datei z.B. .../neuer-datensatz-1.html erstellt, in der alle neuen Daten "für immer" gespeichert sind und nicht jedesmal neu aus der Datenbank geholt werden müssen.

Wieso sollte man .html-Dateien in einer Datenbank speichern anstatt auf dem Server?
Was meint
nicht jedesmal neu aus der Datenbank geholt werden
?
Datenbanken machen nur Sinn wenn man sie benutzt um die darin gelagerten Daten wieder zu verwenden. Das wäre ja als würdest du dir was auf einen Zettel schreiben damit du es nicht vergisst und legst den Zettel für immer weg.

Ich frag nur mal nach weil so richtig hab ich nicht vertsanden was du vorhast.

Gruss Joe.
 
Danke erstmal!
Nein ich möchte halt aus Performancegründen und zur Archivierung immer neue HTML Dateien erstellen, sobald ein neuer Datensatz hinzugefügt wird. Kann man das irgendwie so machen, dass man alles in einer Variable speichert, dann mit fopen() eine neue Datei erstellt und die Variable dann in diese Datei schreibt und in nem 777 Ordner speichert. Wie müsste man sowas coden? Hat da jemand nen Script?

Beste Grüße
Paul
 
Ob da die Datei messbar schneller ist als die DB...nicht sicher.
Würde mich auch gar nicht wundern, wenn (nicht in jedem Fall,
aber durchschnittlich) die DB schneller ist.

Und jetzt versteh ich das auch so, dass du komplette HTMLs in der DB hast.
Warum? Der Aufbau etc. wird doch immer gleich sein, oder?
Oder falsch verstanden?

Und ein Verzeichnis mit 777-Rechten ist nicht so ideal.
Warum soll jeder alles dürfen?
Wenns ein Webserver ist, muss in den meisten Fällen nur root/Apache(+PHP) dran.

edit: Zur Archvierung kannst du doch auch Backups von der DB machen...
 
Verwirrend.
Also normal ist ein Server via FTP-Upload zum verwalten und archivieren von HTML Dateien (aller möglichen Dateien). Wenn sich der Code (Datensatz ist was andres) ändert überschreibt man mit seinem FTP-Clienten zumeist die ältern Datein. Zu Sicherheitszwecken macht man sich daher Backups und speichert sie wohl eher lokal auf dem Rechner.

Datenbanken können das sicher auch evtl leisten aber so ist das nicht gedacht. Daher die Frage was das ganze bezweckt? Wie gesagt eine neuere HTML-Datei würde man doch auf dem Server einfach updaten/aktualisieren nach dem man Code hinzufügt.

(Komm mir grad bissel doof vor :) ist nur ne ungewöhliche Frage des TE)

MFG Joe
 
Naja ...: Ein User gibt per Formular 10-15 Werte pro Datensatz ein. Dies wird dann in einer mySQL Tabelle gespeichert. Parallel dazu wäre es notwendig, diese Daten in einer neuen HTML Datei zu schreiben und in einem Ordner zu speichern. Ich weiß schon, dass man das auch einfach per Datenbankabfrage machen könnte. Aber in meinem Fall macht es aus SEO-Sicht so mehr Sinn.
 
Und warum fragt die "HTML"-Datei nicht via PHP die DB ab ob sich was geändert hat und schreibt dann die HTML-Ausgabe entsprechend so wie es angezeigt werden soll?
 
Zurück