Funktion "update data()"

From Limbas Wiki

Revision as of 08:56, 14 August 2020 by Peter (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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


bool update_data(array $update, numeric $typ=null, array $relation=null, bool $nometa=null);

Funktion zum Ändern von Datensätzen (./limbas_src/gtab/gtab.lib)

Parameter:

$update

→ Durch gültige Einstellungen im $update-Array lassen sich die Inhalte beliebig vieler Tabellenfelder aus beliebig vielen Tabellen mit einem Funktionsaufruf in der Datenbank verändern. Für jedes zu verändernde Tabellenfeld ist ein Array-Element notwendig. Das Tabellenfeld wird dabei eindeutig im Index des Array-Elements spezifiziert, der neue Tabellenfeld-Inhalt ist der Wert des Array-Elements.

$update = array();
$update["$tableID_1,$fieldID_1,$datasetID_1"] = $value_1;
$update["$tableID_2,$fieldID_2,$datasetID_2"] = $value_2;
.
.
.
$update["$tableID_n,$fieldID_n,$datasetID_n"] = $value_n;

Dabei sind die folgenden Variablen durch entsprechende Werte zu ersetzen:

  • $tableID_1, $tableID_2, ..., $tableID_n: Tabellen-ID des Feldes, dessen Inhalt verändert werden soll.
  • $fieldID_1, $fieldID_2, ..., $fieldID_n: Feld-ID des Feldes, dessen Inhalt verändert werden soll.
  • $datasetID_1, $datasetID_2, ..., $datasetID_n: Datensatz-ID des Feldes, dessen Inhalt verändert werden soll.
  • $value_1, $value_2, ..., $value_n: Neuer Inhalt für das spezifizierte Tabellenfeld

Wird die $datasetID auf 0 gesetzt, legt Limbas automatisch einen neuen Datensatz an.

$typ

$relation

→ Sinnvollerweise erstellt mit init_relation(). Dieser Parameter wird nur berücksichtigt, wenn im ersten Parameter ($update) eine Datensatz-ID 0 ist, Limbas also im Hintergrund automatisch einen neuen Datensatz anlegt. Ist $relation gesetzt, wird der neu erstellte Datensatz automatisch mit dem durch $relation spezifizierten Datensatz verknüpft.

$nometa

→ Nur relevant bei updates der Files-Tabelle. Ist $nometa gesetzt, werden die Metadaten der Datei nicht aktualisiert

Rückgabewert:

→ true: Die Änderungen wurden erfolgreich in der Datenbank übernommen. Dabei ist jedoch zu berücksichtigen, dass mögliche ungültige Einstellungen im $update-Array vor dem eigentlichen Datenbank-Update ausgefiltert werden.

→ false: Beim Ändern der Daten in der Datenbank ist ein Fehler aufgetreten.

→ Datensatz-ID: Es wurde im $update-Array als Datensatz-ID eine 0 übergeben. Limbas hat einen neuen Datensatz angelegt und gibt die ID des angelegten Datensatzes zurück.

→ Array: Beim Ändern von manchen Datensätzen ist ein Fehler aufgetreten. Das Array enthält als key die Tabellen-ID, als Wert die ID des Datensatzes bei dem ein Fehler aufgetreten ist.