Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

collapse

* Alles hat ein Ende...

Eine Weisheit der Dakota-Indianer sagt:
"Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab!"

Vor fast fünf Jahren habe ich die NOF-Community gegründet und nachdem just zu diesem Zeitpunkt das „alte NOF-Forum“ quasi über Nacht vom Betreiber geschlossen wurde, war mein Forum für viele Nutzer von NetObjects Fusion eine willkommene Alternative.

Inzwischen sind weit über 5000 NetObjects-Nutzer in der NOF-Community registriert und täglich kommen weitere hinzu. An interessierten Mitgliedern fehlt es also nicht. Was aber fehlt, sind Mitglieder, die Lust haben, anderen Nutzern bei der Lösung ihrer vielfältigen Probleme in der Anwendung von NetObjects Fusion zu helfen. Vielleicht, weil viele von ihnen - ebenso wie ich - das Interesse an NOF verloren haben und zwischenzeitlich mit anderen Programmen arbeiten.

Aktuell ist es so, dass der Support wie die Kosten für den Betrieb der NOF-Community fast ausschließlich von mir übernommen werden. Dies, und die Tatsache, dass ich die Arbeit mit NetObjects Fusion nicht mehr für zeitgemäß halte, veranlasst mich, den aktiven Forenbetrieb zu beenden. Die Beiträge, Tipps und Anleitungen aus den letzten Jahren stehen ab heute nur noch als Nachschlagewerk zur Verfügung.

Ich bedanke mich an dieser Stelle ganz herzlich bei allen, die mich und die NOF-Community in den vergangenen Jahren unterstützt haben.

Beste Grüße nettesekel

Die letzten Beiträge

Autor Thema: PHP und MySQL -> Erstellung von dynamischen Seiten  (Gelesen 3475 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Hans K.

  • Gast
PHP und MySQL -> Erstellung von dynamischen Seiten
« am: 28. März 2013, 22:11:38 »
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.
« Letzte Änderung: 28. März 2013, 22:14:55 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #1 am: 28. März 2013, 23:13:09 »
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.
« Letzte Änderung: 28. März 2013, 23:16:14 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #2 am: 28. März 2013, 23:18:57 »
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.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #3 am: 28. März 2013, 23:26:13 »
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.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #4 am: 28. März 2013, 23:29:39 »
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

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #5 am: 28. März 2013, 23:51:11 »
Das Ergebnis sollte nun so aussehen:




Die ID muss übrigens nicht befüllt werden. Da wir das Attribut auto_increment hinzugefügt haben, erhöht sich die ID automatisch mit jedem Datensatz.
« Letzte Änderung: 28. März 2013, 23:53:16 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #6 am: 29. März 2013, 00:14:41 »
Als nächsten Schritt erstellen wir einen neuen Ordner auf unserem Webspace (z.B. mit Filezilla).
Diesen nennen wir jetzt Mopedbilder und dort legen wir zwei Bilder ab. Die Namen der Bilder erhalten eine laufende Nummer, analog der ID aus der Datenbank.

Also das Bild zu der BMW S 1000 RR nennen wir nun Bild1.jpg und das Bild zur BMW F 700 GS nennen wir Bild2.jpg

« Letzte Änderung: 31. März 2013, 01:31:23 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #7 am: 29. März 2013, 00:15:22 »
Somit haben wir die Vorbereitungen erledigt.

Nun ist die Seite in NOF auf PHP umzustellen:
Umstellung der Seite auf PHP

Dann wird die Verbindung zu der MySQL Datenbank hergestellt.
Verbindung zur MySQL Datenbank herstellen

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #8 am: 29. März 2013, 11:34:21 »
Bevor wir jetzt mit den Scripts beginnen, erfolgt zunächst die Planung der Seite. Dabei spielt es keine Rolle, ob die Gestaltung schon in NOF erfolgt, oder in einem Grafik-Programm, oder sonst wo.
Wichtig ist zu planen, an welcher Stelle sollen welche Informationen stehen.
Auch der Ort für das Bild muss festgelegt werden, dabei ist die Größe des Bildes zu beachten (idealerweise erstellt Ihr die Bilder für alle Motorräder in der gleichen Größe).

Eine Grobplanung ohne Design könnte so aussehen:


Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #9 am: 30. März 2013, 22:53:37 »
Zuerst werden wir nun die geplante Seite (welche mit den Texten als Platzhalter dient) mit den Daten aus der Datenbank befüllen. Dabei werden wir das erste Motorrad auswählen.

Den Code in den Layout-Eigenschaften werden wir nun ergänzen:
Code: PHP
  1. <?php
  2. include("./html/datenbank.php");
  3.  
  4. $sql="SELECT ID, 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 FROM Moped WHERE ID = '1'";
  5. $result = mysql_query($sql);
  6. $row = mysql_fetch_array($result);
  7.  
  8. ?>

Damit lesen wir nun alle Daten zum ersten Motorrad aus.
« Letzte Änderung: 30. März 2013, 23:30:44 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #10 am: 30. März 2013, 23:02:04 »
Nun ist ein Textfeld zu erstellen und dort zu positionieren, wo nachher die Bezeichnung des Motorrades stehen soll. In den Texteigenschaften den Button HTML betätigen (das Textfeld aufziehen, an anderer Stelle ins Layout klicken und dann das Textfeld anklicken -> dann ist das Eigenschaftsfenster zu sehen).

Vor dem Tag ist der Code einzugeben:

Code: PHP
  1. <?php
  2.  
  3. echo $row["Modell"];
  4. ?>
  5.  
  6. <!--

Nach dem Tag ist noch folgendes einzutragen:
Code: HTML5
  1. -->

Durch die Eingabe der Klammern wird ein Zeilenumbruch verhindert, der das Design stören würde (das nennt sich auskommentieren).

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #11 am: 30. März 2013, 23:10:39 »
Als nächstes wird ein Textfeld für die allgemeinen Daten erstellt. Auch hier wieder ein Textfeld erstellen und dort zu positionieren, wo nachher die allgemeinen Daten des Motorrades stehen sollen. In den Texteigenschaften den Button HTML betätigen (das Textfeld aufziehen, an anderer Stelle ins Layout klicken und dann das Textfeld anklicken -> dann ist das Eigenschaftsfenster zu sehen).

Vor dem Tag ist der Code einzugeben:
Code: PHP
  1. <?php
  2.  
  3. echo "Hubraum: ". $row["Hubraum"]. " ccm";
  4. echo "[br /]";
  5. echo "Nennleistung: ". $row["Nennleistung"]. " kW";
  6. echo "[br /]";
  7. echo "Höchstgeschwindigkeit: ". $row["Höchstgeschwindigkeit"]. " km/h";
  8. echo "[br /]";
  9. echo "Kraftstoffart: ". $row["Kraftstoffart"];
  10. echo "[br /]";
  11. echo "Radstand: ". $row["Radstand"]. " mm";
  12. ?>
  13.  
  14. <!--

Nach dem Code kommt wieder folgendes rein:
Code: HTML5
  1. -->

Über dem Textfeld mit dem Code fügen wir ein "normales" Textfeld ein, welches wir mit allgemeine Daten: beschreiben.

Hinweis: Die Darstellung im Forum ändert die br-Tags. Bitte die
Code: HTML5
  1. [br /]
ersetzen mit
Code: HTML5
  1. <br>
« Letzte Änderung: 31. März 2013, 11:13:17 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #12 am: 30. März 2013, 23:20:32 »
Das gleiche machen wir nun für die Maße. Wie gehabt ein Textfeld und folgendes eingeben:

Code: PHP
  1. <?php
  2.  
  3. echo "Länge: ". $row["Länge"]. " mm";
  4. echo "[br /]";
  5. echo "Breite: ". $row["Breite"]. " mm";
  6. echo "[br /]";
  7. echo "Höhe: ". $row["Höhe"]. " mm";
  8. echo "[br /]";
  9. echo "Trockengewicht: ". $row["Trockengewicht"]. " kg";
  10. echo "[br /]";
  11. echo "zulässiges Gesamtgewicht: ". $row["zulässiges_Gesamtgewicht"]. " kg";
  12. echo "[br /]";
  13. echo "Tankvolumen: ". $row["Tankvolumen"]. " l";
  14. ?>
  15.  
  16. <!--

Auch wie gehabt nach dem Tag:
Code: HTML5
  1. -->

Und auch hier erstellen wir ein Textfeld dieses Mal mit der Beschriftung: Maße:

Hinweis: Die Darstellung im Forum ändert die br-Tags. Bitte die
Code: HTML5
  1. [br /]
ersetzen mit
Code: HTML5
  1. <br>
« Letzte Änderung: 30. März 2013, 23:48:16 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #13 am: 30. März 2013, 23:25:11 »
Das Gleiche wiederholen wir für die Bereifung: Textfeld -> HTML und der Code:

Code: PHP
  1. <?php
  2.  
  3. echo "Reifen vorne: ". $row["Reifen_vorne"];
  4. echo "[br /]";
  5. echo "Reifen hinten: ". $row["Reifen_hinten"];
  6. echo "[br /]";
  7. echo "Bremse vorne: ". $row["Bremse_vorne"];
  8. echo "[br /]";
  9. echo "Bremse hinten: ". $row["Bremse_hinten"];
  10. echo "[br /]";
  11. echo "ABS: ". $row["ABS"];
  12. ?>
  13.  
  14. <!--

Und nach dem Tag:

Code: HTML5
  1. -->

Und hier ein "normales" Textfeld mit der Bezeichnung Bereifung:

Hinweis: Die Darstellung im Forum ändert die br-Tags. Bitte die
Code: HTML5
  1. [br /]
ersetzen mit
Code: HTML5
  1. <br>
« Letzte Änderung: 30. März 2013, 23:49:55 von Hans K. »

Hans K.

  • Gast
Re: PHP und MySQL -> Erstellung von dynamischen Seiten
« Antwort #14 am: 30. März 2013, 23:59:38 »
Dann erstellen wir ein weiteres Textfeld und geben folgenden Code ein:

Code: PHP
  1. <?php
  2.  
  3. echo "<img src=\"Mopedbilder/Bild". $row["ID"]. ".jpg\"". "\">";
  4.  
  5. ?>
  6.  
  7. <!--

Und nach dem Tag wieder:

Code: HTML5
  1. -->

Damit wird das Bild angezeigt.

Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

 


Wenn dir dieser Artikel gefallen hat, dann empfehle ihn doch weiter... ;)