Zum Inhalt springen

Formular zur Datenbankeingabe

Erstellt am 20. März 2006 · 7 Antworten · letzte Antwort am 24. März 2006

Tags: Datenbank, Frage

anewuser ·

Hallo!

Ich hab eine entwas kompliziertere Datenbank in SQL abgebildet (und als user_irgendwas in der Typo3-DB abgelegt). Jetzt möcht ich von einem FE-User im Typo3 Daten eintragen lassen. Da ists mit einem neuen Datensatz in einer Tabelle nicht getan.

Ich such also eine Extension, wo ich sozusagen Formularfelder mit Datenbankspalten „verbinden“ kann, und auch diverse Checks vorm Abschicken des Formulars ausführen kann.

Ich hab auch schon eine gefunden, aber die kann mir nur was in eine Tabelle einfügen, das ist für mich wie gesagt unbrauchbar.

Hat jemand für mich einen Tipp? Ich könnts auch selbst in PHP und SQL als kleine Extension programmieren, aber da gibts sicher was einfacheres/eleganteres?

Danke 🙂

woida ·

eine entwas kompliziertere Datenbank...

...ist natürlich sehr konkret. Von daher würde ich dir raten, selbst eine Extension zu schreiben.

anewuser ·
woida schrieb

eine entwas kompliziertere Datenbank...

...ist natürlich sehr konkret. Von daher würde ich dir raten, selbst eine Extension zu schreiben.

Es ist mehr, als einfach die Formulardaten in _eine_ Tabelle zu speichern.
Es müssen ungefähr 15 Tabellen befüllt werden.

Muss ich nun in meiner Extension die SQL-Statements händisch eintragen, oder kann ich das über TCA tun? Ist TCA überhaupt das richtige?

birgitr ·

nein, TCA ist für die Backendformulare. Du musst ein Frontendplugin schreiben. Sind in den meisten Extensions die Dateien mit *pi1.php

- normales Formular anlegen und wie gebraucht validieren

- Variablen mit $this->piVars['DATA'] auslesen

Quelle: tslib/class.tslib_pibase.php

- Datenbank befüllen mit $GLOBALS['TYPO3_DB']->exec_INSERTquery('mytable', array())

Quelle: class.t3lib_db.php

Du wirst nicht umhin kommen, Dich mit dem Innenleben und der Dokumentation von TYPO3 zu befassen. Und bei anderen zu lernen, wie sie es machen.

anewuser ·

Ja, danke für die kurze Einleitung, damit bin ich schon vertraut.
Dachte nur, TCA sei für meine Anforderung geeignet. Gibts echt keine einfachere Möglichkeit?

woida ·

Doch: Du könntest jemanden bezahlen, der es für dich programmiert. #giggle#

Mal im ernst: Nur weil es viele Extension gibt, heißt es noch lange nicht, daß diese jeden erdenklichen Anwendungsfall abdecken.

Aber vielleicht gibts die Extension ja doch im Repository; ich kenn sie zumindest nicht; mußt halt mal selbst suchen...

anewuser ·
woida schrieb

Doch: Du könntest jemanden bezahlen, der es für dich programmiert. #giggle#

Mal im ernst: Nur weil es viele Extension gibt, heißt es noch lange nicht, daß diese jeden erdenklichen Anwendungsfall abdecken.

Wenn ich genug Geld hätte, würde ich das auch machen lassen 😉
Naja, etwas in eine Datenbank einfüllen lassen, ist ja kein so außergewöhnlicher Anwendungsfall meiner Meinung nach.

woida ·

Naja, etwas in eine Datenbank einfüllen lassen, ist ja kein so außergewöhnlicher Anwendungsfall meiner Meinung nach.

Richtig.

Es müssen ungefähr 15 Tabellen befüllt werden.

Das hingegen schon. Vor allem, wenn man beliebig kombinierbare 1-1, 1-n, n-m Relationen hat.