Wie baseportal Datensätze verwaltet
baseportal kennt intern eigentlich gar keine unterschiedlichen Feldtypen. Für baseportal ist im Grunde jeder Eintrag eine beliebig lange Folge von beliebigen Zeichen. Nach aussen wird die "Illusion" von Feldtypen durch Filter erzeugt. Diese sind in etwa mit den Triggern bei SQL vergleichbar.
Zu jedem Datenbank-Befehl gibt es einen zugehörigen Filter:
Filter | Bedeutung |
---|
_field | Feldname |
_sort | Sortierung (z.b. nach Zahl oder Text) |
_form | Ausgabe für Formular |
_put | Wird beim Schreiben eines Eintrags durchlaufen |
_get | Wird beim Lesen eines Eintrags durchlaufen |
_sel | Wird bei der Abfrage (z.B. "Name~=a") durchlaufen |
_del | Wird beim Löschen eines Eintrags durchlaufen |
_mod | Wird beim Ändern eines Eintrags durchlaufen |
_params | Beliebige Parameter, z.B. die Grösse eines Eingabefeldes oder die Nachkommastellen oder... |
Der Weg der Werte
get
_sel | >> | _sort | >> | Eintrag lesen | >> | (_get) | >> | Ausgabe |
|
_get wird nur in einem <do action=all> oder <loop> ausgeführt, oder wenn der Ausgabefilter aktiviert ist.
put
_form | >> | Formular-Feld | >> | Eingabe | >> |
|
_put | >> | _sort | >> | Eintrag schreiben |
|
mod
_sel | >> | _sort | >> | Eintrag lesen | >> | _form | >> | Formular-Feld | >> | Eingabe | >> |
|
_sel | >> | _sort | >> | Alten Eintrag lesen | >> | _put | >> | _sort | >> | Geänderten Eintrag schreiben |
|
del
_sel | >> | _sort | >> | _del | >> | Eintrag lesen und dann löschen |
|
Felder lesen
Nach einem
init oder einem der Datenbank-Befehle
get, put, mod oder
del stehen in
%datenbankname Informationen über die Felder der Datenbank. Beispiel:
init "nutzer";
out $nutzer{_field}[0];
Gibt den Namen des ersten Datenbankfeldes aus (immer "Id"). Hier eine Schleife durch alle Felder der aktuellen Datenbank:
init;
foreach $_field (@{$$_db{_field}})
{
out "$_field<br>";
}
Alle Informationen über die Datenbank können Sie einfach mit Befehl dump ausgeben:
Letzte Änderung am 11.10.2006, 06:46 - Stichworte: Felder, Feldtypen, Filter, _field, _sort, _form, _put, _get, _sel, _del, _mod, _params, Weg der Werte, Ausgabefilter