Funktion "new data()"

Aus Limbas Wiki

Wechseln zu: Navigation, Suche

<-- zurück zu Admin-Dokumentation / <-- zurück zur Hauptseite


mixed new_data(numeric $gtabid, array $relation=null, numeric $copy=null, numeric $version=null, numeric $forceNewID=null);

Funktion zum Anlegen eines neuen Datensatzes (./limbas_src/gtab/gtab.lib)

Parameter:

$gtabid

→ gültige Tabellen-ID: Spezifiziert die Tabelle, in der ein neuer Datensatz anzulegen ist.

→ ungültige Tabellen-ID: Der Funktionsaufruf ist ohne Auswirkung.

$relation

→ null, ungültige Werte: Der neue Datensatz wird nicht mit einer anderen Tabelle verknüpft.

→ Soll der neue Datensatz mit einem Datensatz einer anderen Tabelle (diese muss ein entsprechendes Tabellenfeld des Typs Verknüpfung enthalten) verknüpft werden, so müssen die entsprechenden Angaben in diesem Array übergeben werden:

$relation = array($relationFieldID, $relationTableID, $relationDatasetID);

Dabei sind die folgenden Variablen durch entsprechende Werte zu ersetzen:

  • $relationFieldID: ID des Tabellenfeldes, Typ Verknüpfung in der Tabelle, die den Datensatz enthält, der mit dem neu anzulegenden Datensatz verknüpft werden soll.
  • $relationTableID: ID der Tabelle, die den Datensatz enthält, der mit dem neu anzulegenden Datensatz verknüpft werden soll.
  • $relationDatasetID: ID des Datensatzes, der mit dem neu anzulegenden Datensatz verknüpft werden soll.

$copy

→ in der entsprechenden Tabelle bereits verwendete Datensatz-ID: Die Werte des Datensatzes mit der übergebenen ID werden in den neuen Datensatz eingefügt.

→ alle anderen Werte (z.B. nicht verwendete Datensatz-ID oder "ABC"): Der neue Datensatz wird mit Default-Werten angelegt.

$version

→ false, 0, null: Der neue Datensatz wird als Version "1" angelegt.

→ alle anderen Werte: Der neue Datensatz wird als neue Version des in $copy referenzierten Datensatzes angelegt, vorausgesetzt die Tabelle ist versionierbar und der aktuell angemeldete Benutzer ist berechtigt, neue Versionen anzulegen. Der Funktionsaufruf ist ohne Auswirkung, wenn der referenzierte Datensatz bereits versioniert ist, wenn er nicht vorhanden ist oder wenn der in $copy übergebene Wert keine gültige Datensatz-ID ist.

$forceNewID

→ gültige in der entsprechenden Tabelle noch unbenutzte Datensatz-ID: Der neue Datensatz wird mit dieser ID angelegt.

→ gültige in der entsprechenden Tabelle bereits verwendete Datensatz-ID: Der Funktionsaufruf ist ohne Auswirkung.

→ alle anderen Werte (z.B. null, Zahl kleiner 1, Text): Der neue Datensatz wird mit einer von LIMBAS vergebenen ID angelegt.

Rückgabewert:

→ 0, false: Mit den Übergabeparametern konnte kein neuer Datensatz angelegt werden.

→ Zahl ungleich 0: ID des neu angelegten Datensatzes. Ausnahme: Wird für $forceNewID eine bereits verwendete Datensatz-ID übergeben, so wird diese zurückgegeben, ohne dass LIMBAS einen neuen Datensatz anlegt.

Beispiel

Dieses Beispiel legt einen neuen Datensatz der Tabelle Kontakte an und verknüpft ihn gleichzeitig mit einem Datensatz der Tabelle Kunde. Zusätzlich wird für den neu angelegten Kontakt der Name und Vorname geändert.

$relation = array(FIELD_ID_KONTAKTE, TABLE_ID_KUNDEN, ID_KUNDEN);
if($newid = new_data(TABLE_ID_KONTAKTE, $relation)){
  $update[TABLE_ID_KONTAKTE.",1,$newid"] = $name;
  $update[TABLE_ID_KONTAKTE.",2,$newid"] = $vorname;
  update_data($update);
}