Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FMK2017 - Workshop FileMaker als Frontend zum Aktuallisieren von dynamischen Webseiten by Swen Bauer

218 views

Published on

In meinem Vortrag habe ich verschiedene Möglichkeiten gezeigt, wie man dies mit FileMaker lösen kann.

In meinem Workshop werden wir zusammen eine dieser Lösungen aktuell umsetzen und hier die Fallstricke und Probleme die auftreten können erleben.

Ich werde zusammen mit den Teilnehmern eine dynamische Webseite erstellen, deren Inhalt aus einer MySQL Datenbank befüllt wird, die ihre Daten durch Synchronisation mit einer FileMaker Datenbank pwe ODBC erhält.

Es werden die notwendigen Anbindungen besprochen und programmiert, sowie die Notwendigen SQL- und PHP-Befehle gezeigt.

Am Ende haben die Teilnehmer eine funktionierende Webseite, die sie mit FileMaker füllen können erstellt.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

FMK2017 - Workshop FileMaker als Frontend zum Aktuallisieren von dynamischen Webseiten by Swen Bauer

  1. 1. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 www.filemaker-konferenz.com Workshop Wie nutze ich FileMaker um meine Webseiteninhalte zu pflegen Swen Bauer FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten
  2. 2. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Über den Sprecher • 1984 Studium der Informatik • Programmierung Omnis, 4th Dimension • 1996 FileMaker 3, FileMaker 4 - Projekte • 2001 Wiedereinstieg mit FileMaker 5.5 / 6 • verschiedene Projekte mit FileMaker 7 und höher • derzeit Betreuung FileMaker 11-16 Projekte *
  3. 3. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Agenda - Was machen wir heute • ODBC Verbindung einrichten • Webseite automatisieren • Webseite updaten *
  4. 4. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Was wird unbedingt benötigt? • FileMaker • ODBC Treiber *
  5. 5. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Begriffe • SQL - Structured Query Language • ODBC - Open Database Connectivity • ODBC driver • ODBC driver manager • DSN -Data Source Name • ESS - External SQL Data Source • PHP - Hypertext Preprocessor *
  6. 6. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer FileMaker - MySQL - Web • FileMaker FrontEnd - MySQL Datenbank - Web *
  7. 7. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Workshop - Umgebung * Switch Accesspoint Server afp / smb / ftp / web SSID: fmk2017 Passwort: ws-fmk2017 Name: server.ws-fmk.intern User: webXX (XX = 01-30) Passwort: webXX (XX = 01-30) Webserver: http://webXX.ws-fmk.intern
  8. 8. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Workshop - Ordnerstruktur • Ordnerstruktur auf dem Webserver *
  9. 9. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Workshop - Umgebung • AccessPoint • WLAN Netz: fmk2017 • Passwort: ws-fmk2017 • Netzwerkkabel • Webserver • web01.ws-fmk.intern - web01 / web01 • FileServer (AFP/SMB) • afp://server.ws-fmk.intern bzw smb://server.ws-fmk.intern • Benutzername / Passwort: web01/web01 • FTP - ftp.ws-fmk.intern • Benutzername / Passwort: web01/web01 *
  10. 10. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer • benötigte SQL Befehle zum Abfragen Ändern der Datenbank • SELECT <Felder> FROM <Tabelle> WHERE <Auswahl> ORDER BY <Feld> {ASC|DESC} • INSERT INTO <Tabelle><Feld1, Feld2, …> VALUES <Wert1, Wert2, ….> • UPDATE <Table> SET <Feld1>=<Wert1> SQL *
  11. 11. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer PHP (1) • Befehle zum Aufbau der Verbindung zur Datenbank • mysqli_connect • mysqli_connect_error • mysqli_select_db • mysqli_set_charset • define *
  12. 12. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer PHP (2) • Befehle Daten aus der Datenbank auslesen • mysqli_query • mysqli_num_row • benötigte Befehle für die Webseite • Variablen • for-Schleife • mysqli_fetch_array • mysqli_close *
  13. 13. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer DSN - Installation *
  14. 14. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Beispiel - MySQL Tabellenstruktur * -- phpMyAdmin SQL Dump -- version 4.7.3 -- https://www.phpmyadmin.net/ -- -- Host: localhost:3306 -- Erstellungszeit: 13. Okt 2017 um 17:07 -- Server-Version: 5.6.35 -- PHP-Version: 5.6.30 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; -- -- Datenbank: `web00` -- -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `xaktuelles` -- CREATE TABLE `xaktuelles` ( `pk` int(11) NOT NULL, `id` varchar(40) DEFAULT NULL COMMENT '(uuid)', `bild_name` varchar(200) DEFAULT NULL, `bild_pfad` text, `bild_b64` longtext, `bild_beschreibung` text, `ueberschrift` varchar(200) DEFAULT NULL, `text_kurz` text, `text_lang` text, `datum` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Indizes der exportierten Tabellen -- -- -- Indizes für die Tabelle `xaktuelles` -- ALTER TABLE `xaktuelles` ADD PRIMARY KEY (`pk`); -- -- AUTO_INCREMENT für exportierte Tabellen -- -- -- AUTO_INCREMENT für Tabelle `xaktuelles` -- ALTER TABLE `xaktuelles` MODIFY `pk` int(11) NOT NULL AUTO_INCREMENT;
  15. 15. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Beispiel - an der Datenbank anmelden * <?php /* enthält die Zugangsdaten um Abfragen an die Datenbank zu machen. Es werden hier nur Leserechte vergeben. Änderungen werden über den FileMaker eingesteuert. */ // Verbinden mit der Datenbank // wird aufgerufen mit: require (PRIVPATH."include_db.php"); // Verbindungskonstanten für die Testumgebung setzen if( !defined( 'DBHOST' )) define( 'DBHOST' , 'localhost' ); if( !defined( 'DBUSER' )) define( 'DBUSER' , 'root'); if( !defined( 'DBPW' )) define( 'DBPW' , 'root' ); if( !defined( 'DBNAME' )) define( 'DBNAME' , 'fmk2017' ); // MySQL Serververbindung herstellen $dblink = mysqli_connect( DBHOST,DBUSER,DBPW,DBNAME ); // Überprüfung ob die Verbindung funktioniert hat. // ansonsten mail an Administrator senden if (!$dblink) { // mail an Administrator $fehlermeldung = "MySQL Error beim Connect: <br />".mysqli_connect_error(); echo "$fehlermeldung <br />"; echo "<hr>"; echo "DBHOST: ".DBHOST."<br />"; echo "DBUSER: ".DBUSER."<br />"; echo "DBNAME: ".DBNAME."<br />"; die('Keine Verbindung zur Zeit möglich - später probieren!'); } // Datenbank auswählen mysqli_select_db( $dblink, DBNAME ) or die("Auswahl der Datenbank fehlgeschlagen"); // Charakter Set festlegen mysqli_set_charset($dblink, "utf8"); ?>
  16. 16. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Beispiel - Datenabfragen * <?php session_start(); $tmp = pathinfo( $_SERVER['DOCUMENT_ROOT'] ) ; $tmp = $tmp[ 'dirname' ] ; $tmp = $tmp."/privat/include_start.php" ; require_once($tmp) ; // laden der sjbfunktions-Bibliothek // require_once(PRIVPATH."sjb_funktionen.php"); $numresults = 0; // SELECT Statement zusammensetzen, // !!! Achtung, dass auch die Leerzeichen nicht vergessen werden !!! $sql = "SELECT *"; $sql .= " FROM xaktuelles"; $sql .= " ORDER BY datum DESC"; // Dieses require muss nur einmal pro Seite aufgerufen werden, // da erst am Schluss wieder getrennt wird require_once(PRIVPATH."include_db.php"); $dberg = mysqli_query($dblink, $sql); $numresults = mysqli_num_rows($dberg); ?> … <?php // Die Ergebnisse nacheinander abholen und verarbeiten for ($i = 0; $i < $numresults; $i++) { // Ergibnisreihe abholen und ausgeben $row = mysqli_fetch_array($dberg, MYSQLI_ASSOC); ?> <section> <aside> <img src="data:image/png;base64,<?php echo( $row["bild_b64"] ); ?> " alt="<?php echo( $row["bild_beschreibung"] ); ?>"> </aside> <article> <h2><?php echo( $row["datum"].' - '.$row["ueberschrift"] ); ?></h2> <p><?php echo( $row["text_kurz"] ); if ( !empty( $row["text_lang"] )) { echo( "<a href="#">..mehr..</a>" ); }; ?></p> </article> </section> <hr> <?php } ?> … <?php // Datenbankverbindung wieder schließen mysqli_close($dblink); ?>
  17. 17. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 FileMaker als Frontend zum Aktualisieren von dynamischen Webseiten - Swen Bauer Quellen • Infos - https://de.wikipedia.org • ODBC -MAC - http://www.actualtech.com/ • ODBC Manager: http://www.odbcmanager.net • MySQL - https://dev.mysql.com/downloads/connector/ • phpMyAdmin - https://www.phpmyadmin.net/ • MAMP - https://www.mamp.info/de/ • AnySQL Maestro - https://www.sqlmaestro.com/products/anysql/maestro/ *
  18. 18. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Vortrag und Sprecher Vielen Dank unseren Sponsoren

×