Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Optionsauswahl in API-Datenbank

Dieses Thema im Forum "Andere Datenbankserver" wurde erstellt von PeterS, 25 September 2020.

  1. PeterS

    PeterS Aktiver Benutzer

    Ich bastle (mit Anfängerkenntnissen im Scripting) an einer einfachen API-Datenbank, die SQL spricht, die Daten aber nur strukturiert in Textfiles ablegt.

    Darin gibt es zwei dreifeldrige Datumsangaben ('datefromday', 'datefrommonth', 'datefromyear', dasselbe für 'dateto...' - jeweils als str initialisiert).

    Für Angabe der Tage ('01' bis '31') und Monate ('01' bis '12') möchte ich eine Optionsauswahl nachrüsten.

    Die Datenbank hat als Frontend ein php-script, in welches auch die SQL-Befehle eingebettet sind, bestehend aus einem Eingabebereich und einer gefilterten Listenauswahl. Neuanlage und Änderung eines Sets erfolgt stets im Eingabebereich, in welchen ggf. das zu editierende Set geladen wird.

    [php-Bereich ...]

    // Check if 'Edit' Button was pressed. If yes, load variables from DB for showing the
    // data in the input fields of the form

    // first write the former entries into table tb_tmp
    if (isset($_GET['action']) && $_GET['action'] == 'edit' && isset($_GET['id'])) {
    $db = new Database("chronik-nb");
    if (!file_exists(DB_DIR . "chronik-nb/tb_tmp.txt")) {
    } else {
    $db = new Database("chronik-nb");
    $db->executeQuery("DROP TABLE tb_tmp");
    }
    $db->executeQuery("CREATE TABLE tb_tmp (prev_id inc, prev_action str, prev_sort str, prev_text str, prev_headline str, prev_datequestionable str, prev_datefromyear str, prev_datefrommonth str, prev_datefromday str, prev_datetoyear str, prev_datetomonth str, prev_datetoday str, prev_blanc1 str, prev_blanc2 str, prev_blanc3 str, prev_blanc4 str, prev_datenew str, prev_dateact str, prev_status str)");
    $result = $db->executeQuery("SELECT * FROM tb_chronik WHERE id = '".$_GET['id']."'");
    $db = new Database("chronik-nb");
    $result->next();
    $data = $result->getCurrentValuesAsHash();
    [...]
    $prev_datefromyear = $data['datefromyear'];
    $prev_datefrommonth = $data['datefrommonth'];
    $prev_datefromday = $data['datefromday'];
    $prev_datetoyear = $data['datetoyear'];
    $prev_datetomonth = $data['datetomonth'];
    $prev_datetoday = $data['datetoday'];
    [...]

    $db->executeQuery("INSERT INTO tb_tmp (prev_id, prev_action, prev_sort, prev_text, prev_headline, prev_datequestionable, prev_datefromyear, prev_datefrommonth, prev_datefromday, prev_datetoyear, prev_datetomonth, prev_datetoday, prev_blanc1, prev_blanc2, prev_blanc3, prev_blanc4, prev_datenew, prev_dateact, prev_status) VALUES ('$prev_id', '$prev_action', '$prev_sort', '$prev_text', '$prev_headline', '$prev_datequestionable', '$prev_datefromyear', '$prev_datefrommonth', '$prev_datefromday', '$prev_datetoyear', '$prev_datetomonth', '$prev_datetoday', '$prev_blanc1', '$prev_blanc2', '$prev_blanc3', '$prev_blanc4', '$prev_datenew', '$prev_dateact', '$prev_status')"); ​
    [...]

    [html Formularbereich...]

    <td width="100">
    <? echo lang('datefromday'); ?>:&nbsp;<input name="datefromday" size="10" value="<?=$datefromday?>">
    </td>
    <td width="100">
    <? echo lang('datefrommonth'); ?>:&nbsp;<input name="datefrommonth" size="10" value="<?=$datefrommonth?>">
    </td>
    <td width="100">
    <? echo lang('datefromyear'); ?>:&nbsp;<input name="datefromyear" size="10" value="<?=$datefromyear?>">
    </td>
    [...]

    An welcher Stelle legt man so eine Optionsstruktur an? Im php-Bereich oder im HTML-Formular? Wie erreiche ich, daß beim 'Nachladen' von Sets zum editieren die richtige Option erscheint?
     
  2. dabadepdu

    dabadepdu Datenbank-Guru

    Vielleicht fragst Du mal in einem PHP Forum?
     
  3. PeterS

    PeterS Aktiver Benutzer

    Danke! Werde ich machen...
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden