Deutsch English
Blog
Home
Über tdbengine
Newsletter
Download
Helpware
Chat
Dokumentation
Installation
Konfiguration
Erste Schritte
Variablentypen
Laufzeitschalter
Textdateien
Systemfunktionen
Tabellenfunktionen
Indexfunktionen
Volltext-Indizierung
Memos und Blobs
Semaphoren-Konzept
Fehlermeldungen
Tipps für PHP Programmierer
Locking daemon
Einführungskurs
Befehlsreferenz
HOWTO - Wie kann ich...?
Projekte
Links
Benchmarks
Bug Reporting
Supportanfrage
 
Home    Überblick    Suche    Impressum    Kontakt    Mitglieder
Tipps für PHP-Programmierer
PHP-Programmierer müssen beim Einsatz der tdbengine ein wenig umdenken:

tdbengine-Programme sind keine geparsten HTML-Seiten, sondern reine CGI-Programme, die selbst eine HTML-Seite erzeugen müssen. Zu diesem Zweck können Sie einfache WRITE-Anweisung direkt an den Klienten senden oder (besser!) ein Template (HTML-Seite mit Platzhaltern) laden, dort Ersetzungen durchführen und schließlich diese Seite an den Klienten (Browser) senden.

Aus diesem Grund ist es nicht nötig, für jede Anfrage bzw. jede Aktion ein eigenes Programm zu schreiben. Die tdbengine fördert vielmehr, dass die gesamte Funktionalität beispielsweise für ein Pressemitteilungs-System in nur einem Programm steckt. Die einzelnen Funktionen werden über GET- und/oder POST-Parameter übergeben und von einem zentralen Dispatcher ausgewertet. So schaut in vielen tdbengine-Programmen die Hauptfunktion so aus:

PROCEDURE Main
VAR command:=GetQueryString('command')
  IF command='suchen' THEN ...
  ELSIF command='anmelden' THEN ...
  ELSIF command='abmelden' THEN ...
  ELSIF ...
  ...
  ELSE  ...  // Startseite
  END
ENDPROC

Die integrierte Datenbank arbeitet wesentlich direkter mit Tabellen als der Anschluß an eine externe SQL-Datenbank. Das schaut für PHP-Leute sicherlich erst einmal fremd aus, wahrscheinlich sogar fremder als die Pascal-ähnliche Syntax der Programmiersprache EASY.

Hier ein kleines Codefragment, das eine Query ($PLZ like "8????") in einer Adressentabelle absetzt und die gefundenen Reihen ausgibt:

VAR db : INTEGER = OpenDB('database/adresen.dat')  //Tabelle (zum Lesen) öffnen
VAR nn : INTEGER = FindAndMark(db,'$PLZ LIKE "8????"') // Suchen
IF nn=0 THEN  //Kein Treffer
  CGIWriteLn('Leider nichts gefunden')
ELSE  // Die Tabellenzeilen der gefundenen Datensätze sind IN der Markierungsliste
  CGIWriteLn(Str(nn)+' Datensätze gefunden.') // Erst einmal eine Meldung
  VAR x : INTEGER = FirstMark(db) // An den Anfang der Markierungsliste
  WHILE x>0 DO // Die gesamte Markierungsliste durchgehen
    ReadRec(db,x) // Zeile holen
    CGIWriteLn(GetField(db,'Name')) // Spalten ausgeben
    CGIWriteLn(GetField(db,'Strasse'))
    ...
    x:=NextMark(db,x)
  END
END

Freilich kann man sich auch eine Ergebnis-Tabelle (in Form eines String-Arrays) zusammenstellen lassen, und freilich gibt es auch die Möglichkeit, die tdbengine als reinen SQL-Server zu verwenden (=aktuelles Projekt der TDB GmbH in Schwabach) - der direkte Tabellenzugriff ist allerdings um Längen performanter...

Siehe auch:





tdbengine Anwendungen im Web:

Open-Source Web CMS


Open-Source Bug-Tracking


Free wiki hosting

Open-Source Wiki-System

Kostenloses Foren-Hosting

Diät mit tdbengine 8-)

tdbengine chat
irc.tdbengine.org
#tdbengine

   Copyright © 2003-2004 tdb Software Service GmbH
   Alle rechte vorbehalten. / All rights reserved
   Letzte Änderung: 23.04.2004


ranking-charts.de

Programmers Heaven - Where programmers go!