Chapter 4. SQL-Zugriffe

Table of Contents

Generische Iterator-Funktionen
Definieren der SQL-Tabelle
Auflisten von Result-Sets: Die Indexseite
Neue SQL-Records per Formular erstellen
Loeschen von Datensaetzen

Generische Iterator-Funktionen

Um Inhalt in ein Formular zu bringen, muessen die Iterator-Funktionen von admin_panel bemueht werden. Standardmaessig kommunizieren diese mit MySQL-Datenbanken, weshalb wir uns darum nicht gesondert kuemmern muessen. Vielmehr kann direkt der Kontext zu einer bestimmten Tabelle hergestellt werden. Dazu dient die Funktion open_source(). Mit Hilfe der Funktion get() kann dann ein Eintrag ausgewaehlt und ausgelesen werden. Die Felder des Datensatzes werden automatisch in Formularelemente gleichen Feldnamens eingesetzt, wenn der Kontext nicht durch close_source() geschlossen wird. get() kann bieliebig oft in einem Kontext verwendet werden.


  function person_editieren ()
  {
    $ui =& admin_panel::instance ();
    $id = $this->arg ('id');

    # Ueberschrift ausgeben.
    $ui->headline ('Person bearbeiten');

    # SQL-Tabelle 'personen' auswaehlen.
    $ui->open_source ('personen');

    # Datensatz mit angegebenem Primaerschluessel auswaehlen.
    $ui->query ("WHERE id=$id");

    # Formular mit Datensatz als Inhalt ausgeben.
    $this->personen_formular ();

    # Submitbutton zum aendern des Datensatzes in der Datenbank beim posten
    # des Formulars erzeugen.
    $ui->open_table ();
    $ui->submit_button ('Ok', 'form_update', $this->arg_set_next ());
    $ui->close_table ();

    # Kontext schliessen.
    $ui->close_source ();
  }