Najnowsze tutoriale tworzenie stron internetowych
 

AppML Referencyjne - Bazy danych


"database" Nieruchomość

"database" właściwość określa bazę danych jako źródło danych. Posiada następujące właściwości podrzędne:

Element Opis
"connection" Nazwa połączenia z bazą danych
"execute" Tablica SQL do wykonania przed rozpoczęciem pobierania danych (optional)
"keyfield" Kluczowym polem do głównej tabeli (optional)
"maintable" Głównym tabeli dla tej aplikacji (optional)
"orderby" Stała SQL klauzula orderby dla aplikacji (optional)
"sql" SQL do pobierania danych

Dane z bazy danych

Ten model pobiera rekordy zawierające Klienta, Miasto i kraj z tabeli Customer w bazie danych SQL:

Przykład

{
"database": {
    "connection": "mysql",
    "sql"       : "SELECT CustomerName, City, Country FROM Customers",
    "orderby"   : "CustomerName"
}
}

Filtr Ograniczenia

Aby umożliwić użytkownikom filtrować dane, można dodać informację filtra do modelu:

"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

Sortowanie Ograniczenia

Aby umożliwić użytkownikom sortowanie danych, można dodać informację sortowania do modelu:

"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

Ograniczenia Aktualizuj

Aby umożliwić użytkownikom aktualizację danych, można dołączyć informacje o aktualizacji w modelu:

Przykład

"updateItems" : [
    {"item" : "CustomerName"},
    {"item" : "Address"},
    {"item" : "PostalCode"},
    {"item" : "City"},
    {"item" : "Country"}]

Domyślnie AppML pozwoli filtrować, sortować i aktualizować dane, tylko ono jest określona w modelu.


Połączenia z bazami danych

Połączenia z bazami danych są zdefiniowane w appml_config.php:

appml_config.php

<?php echo("Access Forbidden");exit();?>
{
"dateformat" : "yyyy-mm-dd",
"databases": [
    {
    "connection" : "mysql",
    "host"       : "127.0.0.1:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "googleDB",
    "host"       : "192.168.1.1:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "amazonDB",
    "host"       : "mydbinstance.amazon.com:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "azureDB",
    "host"       : "azure.cloudapp.net",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    }
]
}

Plik konfiguracyjny może zawierać wiele połączeń z bazą danych.


Tworzenie baz danych

Od AppML pozwala na wykonanie instrukcji SQL przed uruchomieniem aplikacji, można to wykorzystać, aby utworzyć bazę danych w razie potrzeby:

Model

{
"database" : {
"connection" : "myCDs",
"execute" : [
"DROP TABLE IF EXISTS CD_Catalog",
"CREATE TABLE IF NOT EXISTS CD_Catalog (CDID INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (CDID),Title NVARCHAR(255),Artist NVARCHAR(255),Country NVARCHAR(255),Price NUMBER)"
]
}}

Idealny do szybkiego prototypowania!