mySQL Beispiel
mySQL Beispiel
Hallo zusammen,
ich bin eher per Zufall auf apf gestossen und bin glücklich,
die Version 1.11 in meinem xampp 1.7.3 Umfeld installiert zu haben.
Ich möchte das Framework als GUI Komponente einer Neuentwicklung nutzen
und bin als Datenbänkler darauf angewiesen, mit wenig Aufwand
durch das Tal der Tränen zu schreiten und suche eine Beispielanwendung, die
die triviale Mengenfunktionen wie neu, löschen, modifizieren auf den
Records einer eingebundenen mySQL Tabelle auf einer Seite anbietet
den Aufruf von mySQL Prozeduren und Funktionen unterstützt.
Hat jemand eine Idee oder ein Beispiel.
Vielen Dank
Cipo, Karlsruhe
ich bin eher per Zufall auf apf gestossen und bin glücklich,
die Version 1.11 in meinem xampp 1.7.3 Umfeld installiert zu haben.
Ich möchte das Framework als GUI Komponente einer Neuentwicklung nutzen
und bin als Datenbänkler darauf angewiesen, mit wenig Aufwand
durch das Tal der Tränen zu schreiten und suche eine Beispielanwendung, die
die triviale Mengenfunktionen wie neu, löschen, modifizieren auf den
Records einer eingebundenen mySQL Tabelle auf einer Seite anbietet
den Aufruf von mySQL Prozeduren und Funktionen unterstützt.
Hat jemand eine Idee oder ein Beispiel.
Vielen Dank
Cipo, Karlsruhe
Re: mySQL Beispiel
Hallo Cipo,
herzlich willkommen im APF-Forum!
Ansonsten kannst du - sofern du das Datenbank-Design selbst bestimmen möchtest - den ConnectionManager nutzen. Dieser ist eine Datenbank-Abstraktion für das APF und bietet ein Standard-Interface gegen eine Datenbank. Mit diesem kannst du Statements sowie Prozeduren ausführen. Die Anwendung gestaltet sich dabei recht einfach. Ein Beispiel findest du z.B. im Tutorial Kommentar-Funktion.
Sofern du auch "damit leben kannst", dass das Datenbank-Design vorgegeben ist, kann ich dir den GenericORMapper ans Herz legen. das ist eine Komponente, die auf Basis eines generischen Datenbank-Designs Objekte und ihre Beziehungen verwalten kann. Für einen Blog beispielsweise definierst du in ini-Dateien die Objekte und Beziehungen und kannst dann über eine generische API alle CRUD-Operationen ohne Code zu schreiben ausführen. Unter Artikel findest du die Reihe Objektorientiertes Design eines Gästebuchs und Objektorientierte Implementierung eines Gästebuchs. Diese beinhalten ein ausführliches Beispiel für die Anwendung des GORM.
Was schon anfällt ist natürlich die Gestaltung und Funktion deiner GUI. Hier kann ich dir folgende Tutotials ans Herz legen:
herzlich willkommen im APF-Forum!

Vorneweg: das APF ist ein Application Development Framework und liefert daher keine fertige GUI wie beispielsweise PHPMyAdmin aus. Man muss also durchaus einiges selbst auf seine Bedürfnisse und Anforderungen entwickeln.Ich möchte das Framework als GUI Komponente einer Neuentwicklung nutzen und bin als Datenbänkler darauf angewiesen, mit wenig Aufwand durch das Tal der Tränen zu schreiten und suche eine Beispielanwendung, die die triviale Mengenfunktionen wie neu, löschen, modifizieren auf den Records einer eingebundenen mySQL Tabelle auf einer Seite anbietet den Aufruf von mySQL Prozeduren und Funktionen unterstützt.
Ansonsten kannst du - sofern du das Datenbank-Design selbst bestimmen möchtest - den ConnectionManager nutzen. Dieser ist eine Datenbank-Abstraktion für das APF und bietet ein Standard-Interface gegen eine Datenbank. Mit diesem kannst du Statements sowie Prozeduren ausführen. Die Anwendung gestaltet sich dabei recht einfach. Ein Beispiel findest du z.B. im Tutorial Kommentar-Funktion.
Sofern du auch "damit leben kannst", dass das Datenbank-Design vorgegeben ist, kann ich dir den GenericORMapper ans Herz legen. das ist eine Komponente, die auf Basis eines generischen Datenbank-Designs Objekte und ihre Beziehungen verwalten kann. Für einen Blog beispielsweise definierst du in ini-Dateien die Objekte und Beziehungen und kannst dann über eine generische API alle CRUD-Operationen ohne Code zu schreiben ausführen. Unter Artikel findest du die Reihe Objektorientiertes Design eines Gästebuchs und Objektorientierte Implementierung eines Gästebuchs. Diese beinhalten ein ausführliches Beispiel für die Anwendung des GORM.
Was schon anfällt ist natürlich die Gestaltung und Funktion deiner GUI. Hier kann ich dir folgende Tutotials ans Herz legen:
- http://adventure-php-framework.org/Seit ... e-Schritte
- http://adventure-php-framework.org/Seit ... -erstellen
- de/viewtopic.php?f=6&t=44
Viele Grüße,
Christian
Christian
Re: mySQL Beispiel
Hallo Cipo,
hat dir mein Post weitergeholfen? Brauchst du noch weitere Info? Wo klemmts vielleicht?
hat dir mein Post weitergeholfen? Brauchst du noch weitere Info? Wo klemmts vielleicht?
Viele Grüße,
Christian
Christian
Re: mySQL Beispiel
Hallo habe mal das Tutorials: Erstellen einer Webseite angeschaut http://adventure-php-framework.org/Seit ... -erstellen.
Leider Funktioniert das nicht mit der Version 1.11 nicht, da die Classe 'base_controller' nicht vorhanden ist.
Fehlt hier ein import oder wird der Controller von einer anderen Klassen abgeleitet?
Bin neu hier und habe heute mti den APF angefangen und das ist auch mein erstes Framework!
Bin für jede Hilfe oder Hinweis dankbar!
gruß DOC
Leider Funktioniert das nicht mit der Version 1.11 nicht, da die Classe 'base_controller' nicht vorhanden ist.
Code: Alles auswählen
Fatal error: Class 'base_controller' not found in /var/www/scripte/frameworks/afm/apps/sites/testwebsite/pres/documentcontroller/content_v1_controller.php
Bin neu hier und habe heute mti den APF angefangen und das ist auch mein erstes Framework!
Bin für jede Hilfe oder Hinweis dankbar!
gruß DOC
Re: mySQL Beispiel
Hallo doc,
zunächst ein Herzliches Willkommen im APF-Forum!
Danke für den Hinweis, die Doku ist online (leider) schon auf dem Stand von 1.12 und es kommt mit 1.11 auf Grund der API-Änderungen zu einem Fehler. Um das Beispiel lauffähig zu halten, einfach die Basis-Klasse von content_v1_controller auf baseController umbenennen. Ich werde beim nächsten Content-Update darauf achten, dass es einen Hinweis für ältere Versionen gibt. Ich hoffe, damit kommst du weiter.
Im Allgemeinen findest du die Dokumentation der 1.11er API unter http://files.adventure-php-framework.or ... index.html.
zunächst ein Herzliches Willkommen im APF-Forum!

Im Allgemeinen findest du die Dokumentation der 1.11er API unter http://files.adventure-php-framework.or ... index.html.
Viele Grüße,
Christian
Christian
Re: mySQL Beispiel
Hallo dr.e
WoW das ging schnell und vielen dank!
Aber ein Hinweis steht ja oben und auch das man sich an das Forum wenden soll
Würdest du mir empfehlen gleich auf die 1.12 zu gehen, oder dauert die Final 1.12 noch lange.
Will erst mal ein wenig spielen und mich mit den Thema Framework auseinandersetzen, und mich in das Thema OOP einarbeiten.
Nochmals vielen Dank!
gruß DOC
WoW das ging schnell und vielen dank!
Aber ein Hinweis steht ja oben und auch das man sich an das Forum wenden soll

Würdest du mir empfehlen gleich auf die 1.12 zu gehen, oder dauert die Final 1.12 noch lange.
Will erst mal ein wenig spielen und mich mit den Thema Framework auseinandersetzen, und mich in das Thema OOP einarbeiten.
Nochmals vielen Dank!
gruß DOC
Re: mySQL Beispiel
Hi,
aus meiner Sicht spricht nichts GEGEN verwendung der 1.12 beta. Das meiste ist bereits enthalten, und Fehlermäßig dürfte in den Grundfunktionen auch nichts gravierendes sein. Ich denke es ist besser direkt mit der neuen API zu "lernen", als sich später nochmal umzugewöhnen und evtl. schon geschriebenes nochmal zu überarbeiten.
Grüße,
Screeze
aus meiner Sicht spricht nichts GEGEN verwendung der 1.12 beta. Das meiste ist bereits enthalten, und Fehlermäßig dürfte in den Grundfunktionen auch nichts gravierendes sein. Ich denke es ist besser direkt mit der neuen API zu "lernen", als sich später nochmal umzugewöhnen und evtl. schon geschriebenes nochmal zu überarbeiten.
Grüße,
Screeze
Re: mySQL Beispiel
Hallo Screeze,
Hatte ich mir auch gedacht
aber danke für die Bestätigung.
Die nächste frage wird kommen
Aber das man so schnell hilfe hier bekommt ist absolut SUPER !!!!!
gruß Alex
Hatte ich mir auch gedacht

Die nächste frage wird kommen

Aber das man so schnell hilfe hier bekommt ist absolut SUPER !!!!!
gruß Alex
Re: mySQL Beispiel
Zu den Tutorial:
1. Habe nur über den ConnectionManager eine verbindung aufbauen können:
Was ich nicht ganz verstehe ist das die Konfigurationsdatei unter:
stehen muss, bin davon ausgegangen das Sie unter:
Kann mir einer sagen warum?
2. Tippfehler bei $page
sollte:
3. import nicht notwendig
Mein Code sieht dann so aus:
1. Habe nur über den ConnectionManager eine verbindung aufbauen können:
Code: Alles auswählen
$cm = $this->__getServiceObject('core::database','ConnectionManager');
$conn = $cm->getConnection('MySQL'); // Section MySQL
Code: Alles auswählen
apps/config/core/database/sites/testwebsite/pres/templates/DEFAULT_connections.ini
Code: Alles auswählen
apps/config/core/database/sites/testwebsite/DEFAULT_connections.ini
2. Tippfehler bei $page
Code: Alles auswählen
$page = $SQL->escapeValue($Page);
Code: Alles auswählen
$page = $SQL->escapeValue($page);
Mein Code sieht dann so aus:
Code: Alles auswählen
class content_v1_controller extends base_controller {
function content_v1_controller()
{
}
function transformContent()
{
// Instanz der Datenbank-Abstraktionsklasse holen
$cm = $this->__getServiceObject('core::database','ConnectionManager');
$conn = $cm->getConnection('MySQL');
// URL-Parameter beziehen
$page = RequestHandler::getValue('Seite','Startseite');
// Parameter gegen SQL-Injections absichern
$page = $conn->escapeValue($page);
// Inhalt der Seite auslesen
$select = 'SELECT PageContent FROM demopage_content WHERE PageURLName = \''.$page.'\' LIMIT 1';
$result = $conn->executeTextStatement($select);
$data = $conn->fetchData($result);
// Inhalt der Seite ausgeben
$this->__Content = $data['PageContent'];
}
}
Re: mySQL Beispiel
Du scheinst den Context in der index.php nicht explizit gesetzt zu haben, deshalb wird "testwebsite/pres/templates" als context verwendet.
einfach in der bootstrab datei
einfügen.
Falls du das doch gemacht hast, poste bitte mal deine index.php
einfach in der bootstrab datei
Code: Alles auswählen
$page->setContext('testwebsite');
Falls du das doch gemacht hast, poste bitte mal deine index.php
Re: mySQL Beispiel
Danke Screeze,
Das explizite setzen des Context hatte ich natürlich nicht gemacht
Das war das ich wollte steht ja auch in der Doku das der Context von loadDesign() genommen wird wenn man kein explizites setzen macht.
Sorry, man überliest sehr schnell was.
Also auch hier ein dickes Lob an die Doku, man muss nur richtig lesen können
gruß Alex
Das explizite setzen des Context hatte ich natürlich nicht gemacht

Code: Alles auswählen
$page->setContext('sites::testwebsite');
Sorry, man überliest sehr schnell was.
Also auch hier ein dickes Lob an die Doku, man muss nur richtig lesen können

gruß Alex
Re: mySQL Beispiel
Hallo Alex,
danke für den Hinweis mit dem Tipp-Fehler, diesen habe ich sofort behoben. Leider ist das Tutorial etwas veraltet, aber ich plane für Release 1.12 noch ein ausführlicheres Tutorial, wie man eine dynamische Webseite auf Basis einer Datenbank erstellen kann. Solltest du in der Zwischenzeit noch weitere Anregungen brauchen, einfach das Forum oder das Wiki nutzen. Wir helfen natürlich immer gerne.
danke für den Hinweis mit dem Tipp-Fehler, diesen habe ich sofort behoben. Leider ist das Tutorial etwas veraltet, aber ich plane für Release 1.12 noch ein ausführlicheres Tutorial, wie man eine dynamische Webseite auf Basis einer Datenbank erstellen kann. Solltest du in der Zwischenzeit noch weitere Anregungen brauchen, einfach das Forum oder das Wiki nutzen. Wir helfen natürlich immer gerne.

Viele Grüße,
Christian
Christian
Re: mySQL Beispiel
Hallo dr.e.
Wenn ich mal was durchtesten soll, also als noob und das hilft manchmal (andere blickwinkel), sag bescheid.
Würde mich freuen etwas zurück zugeben.
Denn für die schnelle und gute Hilfestellung bin ich hier echt froh!
gruß Alex
Wenn ich mal was durchtesten soll, also als noob und das hilft manchmal (andere blickwinkel), sag bescheid.
Würde mich freuen etwas zurück zugeben.
Denn für die schnelle und gute Hilfestellung bin ich hier echt froh!
gruß Alex
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste