Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

collapse

* Alles hat ein Ende...

April 2017

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

Absturz bei FTP Publizierung
von nettesekel
16. April 2017, 12:51:56

E-Masil Adresse herausfinden
von nettesekel
11. April 2017, 16:16:20

Keine Neuinstallation möglich
von nettesekel
10. April 2017, 16:00:27

Publizieren geht nicht
von musikavokale
09. April 2017, 23:15:50

NOF 15
von nettesekel
04. April 2017, 23:55:26

Feststehender Seitenbereich
von nettesekel
01. April 2017, 17:37:12

Aufklappbare Navigation
von nettesekel
31. März 2017, 12:50:30

Nov 12 zum hare ausreisen
von Jim Panse
26. März 2017, 11:48:03

Lytebox Dateiablage
von fahrzeugseiten
21. März 2017, 23:23:23

* Schatznasen Feed

* Aquablogger Feed

* Strickzeugs Feed

* Links für Katzenfreunde

* ...

Fachanwalt für Internet-Recht C.Schmietenknop

* Friendship

DER Katzenblog – mit tollen Tipps und Ideen für deine Katze(n) <3

Autor Thema: Positionierung von Bannern aus Datenbankdaten  (Gelesen 5031 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline algebra

  • Neuling
  • *
  • Beiträge: 5
Positionierung von Bannern aus Datenbankdaten
« am: 28. März 2014, 15:26:46 »
Hallo liebe NOF-Fans,
ich habe eine etwas speziellere Frage.

Es gibt eine Datenbank1 mit 2 Spalten:
   Num1 : laufende Nummer
   Link1 : Link für einen Banner

und eine Datenbank2 mit 3 Spalten:
   Num2 : laufende Nummer
   xx2 : x-Verschiebung
   yy2 : y-Verschiebung.

Dazu möchte ich mit Num1 einen Banner auswählen und an der x-y-Position der
ausgewählten Stelle von Num2 positionieren.

Könnte mir einer dazu eine Antwort geben oder ein Vorgehen skizzieren?
Lässt sich ein solches Verfahren allein mit HTML lösen?

Vielen Dank im Voraus!

Offline nettesekel

  • Administrator
  • *****
  • Beiträge: 8181
    • Aquablogger der Aquaristikblog
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #1 am: 28. März 2014, 17:04:13 »
Hallo algebra und willokommen im Forum, (clap)

darf ich fragen, was der Hintergrund ist? Warum suchst du nach einer solch aufwändigen Lösung um ein Banner zu platzieren?

l.g. nettesekel


Hans K.

  • Gast
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #2 am: 28. März 2014, 18:21:35 »
Hallo algebra,

Lässt sich ein solches Verfahren allein mit HTML lösen?

Na ja, nicht so wirklich. Um die Datenbank auszulesen und die Inhalte zu verarbeiten wirst Du auf PHP zurückgreifen müssen. ;)

Also grundsätzlich geht es...
Am Besten erstellst Du eine Grafik und richtest diese aus. Nun wechselst Du in die Code-Ansicht und kopierst die Zeile, mit welcher die Grafik angezeigt wird.

Dann zurück in die Bearbeitungsansicht. Ein neues Textfeld anlegen, in die Eigenschaften gehen und dort die kopierte Zeile einfügen.
Vor der Zeile erstellst Du eine PHP-Abfrage, welche die von Dir gewünschten Werte ausliest (also Select und Join nicht vergessen, da Du zwei Tabellen hast).
Die Werte übernimmst Du in Variablen.

Nun ersetzt Du in Deiner HTML Zeile die Werte durch die Variablen (einmal der Link und zweimal die Positionswerte).

...nur mal grob skizziert. ;)

Der Sinn erschließt sich mir allerdings auch nicht so ganz, gerade da es verschiedene Positionierungen sein werden.

Gruß
Hans

Offline algebra

  • Neuling
  • *
  • Beiträge: 5
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #3 am: 29. März 2014, 12:14:16 »
Hallo Hans,

vielen Dank für die Antwort.

Der Grund der Frage, die ich versucht habe, möglichst klar und allgemeingültig zu stellen, ist folgender:

Ich habe eine größere Anzahl von Bannern, die jeweils verschiedenen Kategorien zugeordnet werden können, z.B. Mode und Kunst.
Wenn ein Webbesucher auf die Webseite geht, soll er eine Kategorie auswählen können. Daraufhin werden alle Banner, die zu der ausgewählten Kategorie gehören, gut geordnet bzw. im Wabenmuster poitioniert dargestellt. Es geht also um Auswahl und gute Positionierung.

Ich nehme an, dass es am besten ist, das mit Datenbanken zu lösen, da die große Anzahl der Banner und ihre Kategien öfter geändert werden müssen.
Eine Datenbank enthält für jeden Banner einen Datensatz mit den Feldern für eine laufende Nummer, den Link und den Kategorien.
Oder gäbe es da eine bessere Lösung?

Diese Datenbanken habe ich aber noch nicht erstellt.
Beim Erstellen stehe ich z.B. vor der Frage, welche Zugriffssoftware (z.B. MySql) ich dazu auswählen sollte. Da wäre es sehr hilfreich, wenn ich ein Beispiel hätte, das zeigt, wie man eine einfache Datenbank erstellt und wie man dann auf Felder der Datenbank zugreifen kann.

Gruß
algebra

Offline nettesekel

  • Administrator
  • *****
  • Beiträge: 8181
    • Aquablogger der Aquaristikblog
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #4 am: 29. März 2014, 12:21:46 »
Achso, es geht also um eine Art Auflistung von Bannern die zum Zwecke-x den Seitenbesuchern angeboten werden. Ich dachte spontan es geht ein Banner im Kopfbereich deiner Seite, also als Gestaltungselement deiner eigenen Website.
Dafür fand ich die Vorgehnsweise etwas umständlich. So ist es ja fast mit einer Artikelauflistung vergleichbar...  danke für die Aufklärung! (fubar)

Hans K.

  • Gast
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #5 am: 29. März 2014, 17:19:00 »
Na dann schau Dir mal meine Tuts an: https://www.nof-community.de/index.php?board=37.0

Dort wirst Du sehen, wie man mit Datenbanken einfach und effektiv arbeiten kann.
Dafür benötigst Du in Deinem Hompagepaket PHP und MySQL...

Noch eine Frage zu Deiner Überlegung mit zwei Tabellen: Wieso kommst Du darauf zwei Tabellen zu benötigen?
Wenn ein Banner eine eindeutige Position aufweist, dann kannst Du alle Angaben auch in eine Tabelle packen. Eine zweite Tabelle nimmt man in aller Regel, wenn die Zuordnung Variabel werden soll, oder wenn Tabelleninhalte mehrfach benötigt werden.

Gruß
Hans

Offline algebra

  • Neuling
  • *
  • Beiträge: 5
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #6 am: 31. März 2014, 11:17:50 »
Hallo Hans,
vielen Dank für die Antwort.

Ich habe nun diese Hinweise abgearbeitet:
www.nof-community.de/index.php?topic=921.0  : Umstellung der Seite auf php
www.nof-community.de/index.php?topic=923.0  : Verbindung zur MySQL Datenbank herstellen
www.nof-community.de/index.php?topic=995.0  : PHP und MySQL -> Erstellung von Einträgen in der Datenbank mit einem Formular
Die angegebenen Codes habe ich eingefügt.
Das Formular habe ich mit dem Formular-Handler erstellt.
Das Formular sieht bei mir so aus: siehe Anhang.
 
Bei HTML sieht der Anfang bei mir jetzt so aus:
<?php
include("./html/datenbank.php");

$sql="SELECT User FROM Zugang";
$result = mysql_query($sql);

$db_server = ' ftp.strato.com';
$db_benutzer = 'XXX.de';
$db_passwort = 'XXX';
$db_name = 'Datenbank1';
 
$conn=mysql_connect($db_server, $db_benutzer, $db_passwort) or die ( 'Die Verbindung zur Datenbank ist fehlgeschlagen.' );
mysql_select_db($db_name);
?>

(statt XXX die richtigen Texte)

Und das Ende sieht so aus:
<?php
mysql_close($conn);
?>

Nach der FTP-Publizierung bin ich auf die Online-Webseite gegangen, und es kam auf der Seite, wo das Formular drauf ist, der Hinweis: ‚Die Verbindung zur Datenbank ist fehlgeschlagen.‘

Wo kann der Fehler liegen?
Oder sollte ich mit Klick auf Connector ‚Einen neuen Connector erstellen‘?

Offline nettesekel

  • Administrator
  • *****
  • Beiträge: 8181
    • Aquablogger der Aquaristikblog
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #7 am: 31. März 2014, 11:43:35 »

$db_server = ' ftp.strato.com';


Ich bin zwar nicht Hans und hab auch nicht viel Ahnung von dieser Geschichte, aber da ich selbst bei Strato bin und dort diverse Datenbanken nutze, weiß ich dass der der Eintrag für den Datenbankserver bei Strato so heißen müsste:

$db_server = 'rdbms.strato.de';
(zumindest lautet er bei meinen beiden Strato-Paketen so)

« Letzte Änderung: 31. März 2014, 11:45:34 von nettesekel »

Offline algebra

  • Neuling
  • *
  • Beiträge: 5
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #8 am: 31. März 2014, 13:13:35 »
Vielen Dank für die Info,
das hat mich zumindest ein Stück weiter gebracht.

Ich habe also  $db_server = ' ftp.strato.com';
geändert in     $db_server = 'rdbms.strato.de‘;

Wenn ich jetzt auf die Seite der Webseite klicke, wo sich das Formular befindet, kommt zwar keine Fehlermeldung mehr, aber der Internetkreisel kreiselt eine Minute, und dann passiert nichts. Von da an kann ich auch nicht mehr auf eine andere Seite klicken.

Offline nettesekel

  • Administrator
  • *****
  • Beiträge: 8181
    • Aquablogger der Aquaristikblog
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #9 am: 31. März 2014, 14:02:46 »
Und die Datenbanknamen hast du richtig eingegeben?
Mich irritiert nämlich oben deine Beispielangabe Datenbank1.
Der Datenbankname beginnt mit DB und danach kommt eine Zahlenfolge.
Der Benutzername beginnt mit U und danach kommt die selbe Zahlenfolge wie beim Datenbanknamen.

Hans K.

  • Gast
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #10 am: 31. März 2014, 18:46:45 »

Bei HTML sieht der Anfang bei mir jetzt so aus:
<?php
include("./html/datenbank.php");

$db_server = ' ftp.strato.com';
$db_benutzer = 'XXX.de';
$db_passwort = 'XXX';
$db_name = 'Datenbank1';

$conn=mysql_connect($db_server, $db_benutzer, $db_passwort) or die ( 'Die Verbindung zur Datenbank ist fehlgeschlagen.' );
mysql_select_db($db_name);
 

Das sieht doppelt aus... was ist in der Datei datenbank.php enthalten - ebenfalls der Zugang zur Datenbank?

Hier einmal die Info von Strato, wie die Daten auszusehen haben (Nettesekel hat es ja bereits schon gesagt):
http://www.strato-faq.de/746

Gruß
Hans

Offline algebra

  • Neuling
  • *
  • Beiträge: 5
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #11 am: 02. April 2014, 10:20:59 »
Vielen Dank, das mit den Datenbanknamen habe ich nun gelöst.

Ziel ist es, eine Excel-Tabelle mit vielen Datensätzen in die Datenbank einlesen zu können, um viel Eintippen zu vermeiden.

Ich bin gerade beim Einrichten einer Datenbank bei Strato, wo etwas nicht so funktioniert, wie es sein soll, und mir Strato noch nicht helfen konnte. Für einen Profi sind es vielleicht ganz einfache Sachen.
Bei den Fragen 1 und 2 geht es um die richtigen Einstellungen.
Bei Frage 3 geht es um Befehle mit Zugriff auf die Datenbank.

Frage 1:
Wenn ich bei Strato mit phpMyAdmin eine Tabelle erstelle, muss ich sie als Typ MyISAM speichern, damit das mit der Einstellung Autoincrement für die Spalte ID keinen Fehler gibt (z.B. meine Tabelle ShopsD).
Dann exportiere ich diese Tabelle mit diesen Einstellungen:
    Ausgabe:          iso-8859-1
    Format:             CSV
    Excel-Version:  Excel 2008
Wenn ich dann die Excel-Tabelle ansehe auf dem PC ansehe, ist jeder Datensatz vollständig in einer Spalte. Wie kann ich erreichen, dass die Felder je Datensatz in den Spalten erscheinen?

Frage 2:
Ich habe auf dem PC eine kleine csv-Excel-Tabelle erstellt, mit Inhalten in einigen Zeilen und Spalten.
Dann habe ich bei Strato mit phpMyAdmin diese Tabelle importiert mit diesen Einstellungen:
    Zeichencoderder Datei: iso-8859-1
    Format:  CSV
Das Ergebnis ist in diesem Fall die Tabelle Table8. Wenn ich mir dies dann mit dem Button ‚Anzeigen‘  oder mit dem Button ‚Struktur‘ ansehe, dann gibt es nur eine Spalte. Also jeder Datensatz besteht nur aus einer Spalte (Feld).
Wie kann ich erreichen, dass die Felder je Datensatz in den Spalten erscheinen?

Frage 3:
Z.B. habe ich bei der Datenbank DB1234567 die Tabelle Table12.
Dort gibt es u.a. die Spalten ‚ID‘ (Autoincrement), ‚Kategorie‘ und ‚Banner‘.
In der Spalte ‚Banner‘ sind Links von Bannern.
Wie kann ich auf der Webseite alle Banner, die z.B. die Eigenschaft Kategorie = 3 oder den Banner, der bei ID = 7 steht, platzieren?

Hans K.

  • Gast
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #12 am: 02. April 2014, 20:40:15 »
Frage 1:
Wenn ich bei Strato mit phpMyAdmin eine Tabelle erstelle, muss ich sie als Typ MyISAM speichern, damit das mit der Einstellung Autoincrement für die Spalte ID keinen Fehler gibt (z.B. meine Tabelle ShopsD).
Dann exportiere ich diese Tabelle mit diesen Einstellungen:
    Ausgabe:          iso-8859-1
    Format:             CSV
    Excel-Version:  Excel 2008
Wenn ich dann die Excel-Tabelle ansehe auf dem PC ansehe, ist jeder Datensatz vollständig in einer Spalte. Wie kann ich erreichen, dass die Felder je Datensatz in den Spalten erscheinen?

Dann darfst Du es nicht als CSV speichern. ;)
Als CSV Format werden die Spalten grundsätzlich in einer Zelle gespeichert. Kannst Du die Auswahl treffen, wie in der angehängten Grafik?

Ich habe gerade mal bei Strato nachgelesen. Offensichtlich kann man es nur als CSV Datei exportieren.
Demzufolge musst Du die CVS Datei nach Excel importieren, damit die Aufteilung in die einzelnen Spalten erfolgt.
Alternativ kannst Du in Excel auch den Befehl "Text in Spalten" ausführen, dann werden die Daten ebenfalls auf die Spalten aufgeteilt.
Wichtig ist, dass Du beim Export der Datenbank ein eindeutiges Trennzeichen auswählst...
« Letzte Änderung: 02. April 2014, 20:49:07 von Hans K. »

Hans K.

  • Gast
Re: Positionierung von Bannern aus Datenbankdaten
« Antwort #13 am: 02. April 2014, 21:09:09 »
Frage 2:
Ich habe auf dem PC eine kleine csv-Excel-Tabelle erstellt, mit Inhalten in einigen Zeilen und Spalten.
Dann habe ich bei Strato mit phpMyAdmin diese Tabelle importiert mit diesen Einstellungen:
    Zeichencoderder Datei: iso-8859-1
    Format:  CSV
Das Ergebnis ist in diesem Fall die Tabelle Table8. Wenn ich mir dies dann mit dem Button ‚Anzeigen‘  oder mit dem Button ‚Struktur‘ ansehe, dann gibt es nur eine Spalte. Also jeder Datensatz besteht nur aus einer Spalte (Feld).
Wie kann ich erreichen, dass die Felder je Datensatz in den Spalten erscheinen?

Frage 2 muss ich passen, da musst Du mit den Einstellungen ein wenig probieren...

Frage 3:
Z.B. habe ich bei der Datenbank DB1234567 die Tabelle Table12.
Dort gibt es u.a. die Spalten ‚ID‘ (Autoincrement), ‚Kategorie‘ und ‚Banner‘.
In der Spalte ‚Banner‘ sind Links von Bannern.
Wie kann ich auf der Webseite alle Banner, die z.B. die Eigenschaft Kategorie = 3 oder den Banner, der bei ID = 7 steht, platzieren?

Das sind nun Grundlagen der Abfragen. Hierzu solltest Du Dir die Möglichkeiten in meinen Tuts anschauen.
Hier mal ein Beispiel:

Code: PHP
  1. $sql = "SELECT ID, Banner, Kategorie FROM Table12 WHERE Kategorie = 3";
  2. $result = mysql_query($sql);
  3. while ($row = mysql_fetch_array($result)) {
  4. echo $row["Banner"];
  5. }
Also mit select wählst Du den Inhalt der Palten "ID", "Banner" und "Kategorie" von der Tabelle Table12, welche mit der Kategorie 3 übereinstimmen.
Mit echo $row["Banner"] gibst Du den Inhalt der Spalte aus und die geschweiften Klammern sind eine Schleife. Die Schleife wird so oft durchlaufen, wie die Bedingung (Kategorie = 3) erfüllt ist.

Dort wo nun echo $row["Banner"]; steht, gibst Du nun das an, was alles erfolgen soll.

Gruß
Hans

Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion