put (Neue Datensätze speichern) |
Fügt neue Datensätze zu einer Datenbank hinzu.
Definition:
Alle Felder sind optional. Ohne irgendeine Angabe werden die per URL oder einem Formular übergebenen Parameter genommen. Werte geben die zu speichernden Datensätze an und können in verschiedener Form übergeben werden. Datenbank gibt den Namen der Datenbank an. Beispiele:
Schreibt einen neuen Datensatz in die Datenbank "kunden". Das Feld "Name" bekommt den Inhalt "Gustav Griebig" und das Feld "Auto" den Inhalt "BMW". Die einzelnen Werte geben also im Wechsel den Namen eines Feldes und den darin zu speichernden Inhalt an. Es müssen dabei nicht alle vorhandenen Felder angegeben werden (entspricht einem leergelassenen Feld in einem Formular), auch die Reihenfolge der Feldangabe ist egal (zuerst das Auto, dann der Name geht ebenfalls) Man kann damit auch mehrere Datensätze auf einmal hinzufügen, einfach indem man einen Feldnamen, der bereits angegeben wurde wiederholt:
Schreibt zwei neue Datensätze in die Datenbank "kunden" und zwar Eintrag 1 mit Namen "Gustav Griebig" und dem Auto "BMW" und Eintrag 2 mit Namen "Hans Haberl" und dem Auto "VW Golf". Aus verschiedenen Gründen ist diese Form für mehrere Datensätze aber nicht sonderlich geeignet. Zum ersten kann es Probleme geben, wenn Felder weggelassen werden und zum zweiten muss man ständig die Feldnamen wiederholen. Besser man verwendet gleich folgende Übergabeart:
Schreibt drei neue Datensätze in die Datenbank "kunden": Eintrag 1 mit Name "Hans" und Auto "Mercedes", Eintrag 2 mit Name "Gisela" und keinem Eintrag beim Auto und Eintrag 3 mit Name "Thomas" und Auto "Toyota".
|
Hinweis / Tipp
Wenn Sie mehrere Datenbankaufrufe auf einer Seite haben, dann muss zur Gewährleistung einer reibungslosen Funktion unbedingt die Angabe des Namens für die Ergebnismenge, der sogenannte Ergebnishash, angegeben werden.
Nur so kann Baseportal "wissen", welche Daten zu welcher Datenbank gehören.
Wenn Sie dies vergessen, werden Sie u.U. nicht reproduzierbare Fehlausgaben bzw. Fehlfunktionen hervorrufen.
(die bei Zusammentreffen mehrerer Faktoren sogar bis zum Datenverlust führen können, zumindest aber das Speichern/Ändern mittels put bzw. mod verhindern)
Es ist aus diesem Grund anzuraten, sich anzugewöhnen, den Ergebnishash in jedem Falle beim get, put bzw. mod mit anzugeben.
Beispiel:
get "Id==* Farbe=rot", "autos", "roteautos"<br> while(get_next("roteautos"){<br> <span class=einzug>$dsnr = $Id;<span><br> <span class=einzug>mod "Id==$dsnr ["Farbe","dunkelrot"] ", "autos","andersrot";</span><br> } |
Hier ist im get "autos" der Datenbankname, "roteautos" der Ergebnishashname
im mod der Datenbankname ebenfalls "autos" und der Ergebnishashname "andersrot";
Übrigens, dieser Scriptteil würde in jedem Datensatz der Datenbank "autos", bei dem im Datenbankfeld Namens "Farbe" der Wert "rot" oder "Rot" steht diesen in den Wert "dunkelrot" ändern