Forum: NOF - Tutorials (185 anschauliche Tutorials zum Lesen und Nacharbeiten) > PHP und MySQL - Tutorials und Kurzanleitungen

PHP und MySQL -> Erstellung von dynamischen Seiten

(1/5) > >>

Hans K.:
Eine MySQL Datenbank ist nicht primär dafür gedacht, soche "Spielereien" wie der PHP und MySQL -> Einbau eines einfachen Counters oder der PHP und MySQL -> Einbau einer Bewertungs- und Kommentarfunktion zu realisieren. Vielmehr ist MySQL eine Datenbank und dient dazu Daten zu verwalten. Dabei reden wir nicht von 2 oder 3 Daten, sondern es können durchaus Hunderte von Daten sein.

Ich habe bereits die eine oder andere Seite in den Vorstellungen gesehen, welche recht aufwendig aufgebaut sind. Egal ob es um Reisen, Filme oder Motorräder geht, viele Webseiten beinhalten viele identische Seiten, nur die Inhalte sind anders.

Was bedeutet es, wenn eine Änderung auf einer der Seiten vorgenommen werden muss? Die Änderung muss auf allen Seiten erfolgen und zwar auf jeder Seite.

Und genau hier macht eine dynamische Seitenerstellung Sinn. Für gleiche Seiten, auf denen einzig die Inhalte unterschiedlich sind, lagert man die Inhalte in die Datenbank aus. Dann wird eine Seite erstellt, welche je nach Aufruf die jeweiligen Inhalte befüllt. So muss man eine einzige Seite erstellen und bei Änderungen auch nur diese eine Seite anpassen.

Beispiel:
Wenn ich eine Website mit Infos zu Motorrädern habe und die technischen Daten aufführe, benötige ich für jedes Motorrad eine seperate Seite. Bei 3 Motorrädern macht das 3 Seiten, bei 500 Motorrädern eben 500 Seiten.
Nun lagere ich die technischen Daten der Motorräder in einer Datenbank aus. Dann erstelle ich 1 (!!) Seite mit dem Design. Die Inhalte werden aus der Datenbank ergänzt, je nachdem wie die Seite aufgerufen wird mit den technischen Daten des jeweiligen Motorrades.

Das bringt zwei wesentliche Vorteile:
1. Es wird nur eine Seite mit dem Grundgerüst erstellt, egal wie viele Motorräder dargestellt werden sollen.
2. Um weitere Motorräder im Netz zu zeigen muss keine neue Seite in NOF angelegt werden. Stattdessen wird ein weiterer Eintrag in der Datenbank vorgenommen, die Seite wird automatisch generiert.

Hans K.:
Wie der Titel bereits beinhaltet, ist ein Paket mit PHP und einer MySQL Datenbank Voraussetzung für die Erstellung von dynamischen Seiten.

Als erstes wird der Speicherplatz für die Daten geschaffen. Dafür muss eine Tabelle in der MySQL Datenbank angelegt werden (Zugang ist der Anleitung des Providers zu entnehmen).

Die Tabelle bekommt die Bezeichnung: Moped

Benötigt werden 18 Felder:
ID - eine fortlaufende ID, welcher die Funktion auto_increment vergeben werden muss (automatischer Zähler)
Modell
Hubraum
Nennleistung
Höchstgeschwindigkeit
Kraftstoffart
Radstand
Reifen_vorne
Reifen_hinten
Bremse_vorne
Bremse_hinten
ABS
Länge
Breite
Höhe
Trockengewicht
zulässiges_Gesamtgewicht
Tankvolumen

Die Felder müssen noch als Typ definiert werden:

Id                                          int(11)
Modell                                   varchar(20)
Hubraum                               int(11)
Nennleistung                         int(11)
Höchstgeschwindigkeit          int(11)
Kraftstoffart                           text
Radstand                                text
Reifen_vorne                          text
Reifen_hinten                         text
Bremse_vorne                        text
Bremse_hinten                       text
ABS                                         text
Länge                                     int(11)
Breite                                     int(11)
Höhe                                      int(11)
Trockengewicht                      int(11)
zulässiges_Gesamtgewicht   int(11)
Tankvolumen                          text


int(11) ist ein reines Zahlenfeld, varchar(20) ist ein Feld mit einer Zeichenfolge von maximal 20 Zeichen, text ist ein reines Textfeld.

Hier muss man sich gut überlegen, wie die Typen festgelegt werden. Haben wir z.B. eine Längenangabe, dann werden wir die Längeneinheit nicht in der Datenbank ablegen, sondern beim späteren Aufruf der Variable hinzufügen. Hintergrund: Die Einheit ist auf allen Seiten immer gleich, deshalb hinterlegen wir sie einmal auf der Seite und nicht x-Mal in der Datenbank.

Hans K.:
Natürlich ist die Tabellenbezeichnung und die Felder als Beispiel zu verstehen. Die Bezeichnungen könnt Ihr auf Eure Bedürfnisse anpassen, allerdings müsst Ihr dann bei den nachfolgenden Scripts darauf achten, dass Ihr die Bezeichnungen auch in den Scripts ändert.

Hans K.:
Damit wir auch Ergebnisse auf der Seite haben werden, müssen nun als Erstes Daten in der Datenbank hinterlegt werden.

Gebt mal die folgenden Daten ein:
Modell   BMW S 1000 RR
Hubraum   999
Nennleistung   142
Höchstgeschwindigkeit   200
Kraftstoffart   Super(plus) Benzin bleifrei, Oktanzahl 95-98 (ROZ) (Klopfregelung; Nennleistung bei 98 ROZ)
Radstand   1422,7 mm
Reifen_vorne   120/70 ZR 17
Reifen_hinten   190/55 ZR 17
Bremse_vorne   Doppelscheibenbremse, schwimmend gelagerte Bremsscheiben, 4-Kolben Festsattel, Durchmesser 320 mm, 5 mm dick
Bremse_hinten   Einscheibenbremse, Ein-Kolben Schwimmsattel, Durchmesser 220 mm, 5 mm dick
ABS   BMW Motorrad Race-ABS, abschaltbar, 4 wählbare Modi: Rain, Sport, Race, Slick (Sonderausstattung)
Länge   2056
Breite   826
Höhe   1138 mm
Trockengewicht   178
zulässiges_Gesamtgewicht   405
Tankvolumen   17,5

Hans K.:
Damit wir auch testen können, ob wir eine Seite mit unterschiedlichen Daten aufrufen können, gebt bitte noch einen kompletten Datesatz ein:

Modell   BMW F 700 GS
Hubraum   798
Nennleistung   55
Höchstgeschwindigkeit   192
Kraftstoffart   Superbenzin bleifrei, Mindestoktanzahl 95 (ROZ)
Radstand   1.562
Reifen_vorne   110/80-19
Reifen_hinten   140/80-17
Bremse_vorne   Zweischeibenbremse, Durchmesser 300 mm, 2-Kolben-Schwimmsattel, ABS
Bremse_hinten   Einscheibenbremse, Durchmesser 265 mm, Ein-Kolben-Schwimmsattel, ABS
ABS   Serienmäßig
Länge   2.280
Breite   880
Höhe   1.215
Trockengewicht   186
zulässiges_Gesamtgewicht   436
Tankvolumen   16,0 l

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln