ऐपएमएल ट्यूटोरियल

ऐपएमएल होम AppML कैसे करें ऐपएमएल डेटा ऐपएमएल में शामिल हैं ऐपएमएल नियंत्रक ऐपएमएल संदेश ऐपएमएल मॉडल ऐपएमएल एपीआई

ऐपएमएल मामले

केस परिचय केस टेक्स्ट फ़ाइल केस एक्सएमएल फाइल केस JSON फ़ाइल केस ग्राहक केस उत्पाद केस सप्लायर्स केस शिपर्स केस श्रेणियाँ केस कर्मचारी

ऐपएमएल क्लाइंट

ऐपएमएल क्लाइंट ऐपएमएल प्रोटोटाइप ऐपएमएल सूचियां ऐपएमएल फॉर्म ऐपएमएल वेबएसक्यूएल

ऐपएमएल सर्वर

ऐपएमएल पीएचपी एपीपीएमएल एएसपी

ऐपएमएल क्लाउड

गूगल क्लाउड एसक्यूएल अमेज़ॅन आरडीएस एसक्यूएल

ऐपएमएल संदर्भ

ऐपएमएल संदर्भ ऐपएमएल डेटाफाइल्स ऐपएमएल डेटाबेस ऐपएमएल एपीआई ऐपएमएल आर्किटेक्चर ऐपएमएल इतिहास

AppML केस स्टडी - उत्पाद


एचटीएमएल पेज

यह एचटीएमएल स्रोत है:

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<title>Products</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
</head>
<body>

<div class="w3-container w3-content">
<h1>Products</h1>

<div id="Form01" class="w3-container w3-light-grey w3-padding-large w3-margin-bottom" style="display:none;" appml-controller="myFormController">
  <div appml-include-html="inc_formcommands.htm"></div>
  <p>
    <label>ProductName:</label>
    <input id="ProductName" class="w3-input w3-border">
  </p>
  <p>
    <label>Supplier:</label>
    <div appml-data="appml.php?model=model_dropdown_suppliers">
      <select id="SupplierID" class="w3-select w3-border">
        <option appml-repeat="records" value="{{SupplierID}}">{{SupplierName}}</option>
      </select>
    </div>
  </p>
  <p>
    <label>Category:</label>
    <div appml-data="appml.php?model=model_dropdown_categories">
      <select id="CategoryID" class="w3-select w3-border">
        <option appml-repeat="records" value="{{CategoryID}}">{{CategoryName}}</option>
      </select>
    </div>
  </p>
  <p>
    <label>Unit:</label>
    <input id="Unit" class="w3-input w3-border">
  </p>
  <p>
    <label>Price:</label>
    <input id="Price" onchange="myValidator(this)" class="w3-input w3-border">
  </p>
</div>

<div appml-data="appml.php?model=model_productslist" appml-controller="myListController">
<div appml-include-html="inc_listcommands.htm"></div>
<div appml-include-html="inc_productsquery.htm"></div>
<table class="w3-table-all">
  <tr>
    <th></th>
    <th>Product Name</th>
    <th>Category</th>
    <th>Supplier</th>
    <th>Price</th>
  </tr>
  <tr appml-repeat="records">
    <td style="cursor:pointer" onclick="appml('Form01').run({{ProductID}})">&#9998;</td>
    <td>{{ProductName}}</td>
    <td>{{CategoryName}}</td>
    <td>{{SupplierName}}</td>
    <td>{{Price}}</td>
  </tr>
</table>
</div>
<h3 id="sumprice"></h3>
</div>

<script>
function myValidator(item) {
  var obj = appml("Form01");
  obj.message = "validate";
  obj.validate = {};
  obj.validate.item = item.id;
  obj.validate.value = item.value;
  myFormController(obj);
}

function myListController($appml) {
  if ($appml.message == "done") {
    var i, x, tot = 0;
    x = $appml.data.records;
    for (i = 0; i < x.length; i++) {
      tot += Number(x[i].Price);
    }
    document.getElementById("sumprice").innerHTML = x.length + " products. Total price: $" + tot.toFixed(2);
  }
  if ($appml.message == "display") {
    if ($appml.display.name == "ProductName") {
      $appml.display.value = $appml.display.value.toUpperCase();
    }
  }
}

function myFormController($appml) {
  if ($appml.message == "ready") {
    $appml.appName = "Form01";
    $appml.dataSource = "appml.php?model=model_productsform";
    return -1;
  }
  if ($appml.message == "loaded") {
    document.getElementById("Form01").style.display = "";
  }
  if ($appml.message == "submit") {
    if (isNaN(document.getElementById("Price").value)) {
      $appml.setError(15, "Price must be a number");
      return -1;
    }
  }
  if ($appml.message == "validate") {
    if ($appml.validate.item == "Price") {
      if (isNaN($appml.validate.value)) {
        $appml.setError(15, "Price must be a number");
        return;
      }
    }
  }
}
</script>
</body>
</html>
पीएचपी »

मॉडल

ये एप्लिकेशन में उपयोग किए जाने वाले मॉडल हैं:

सूची मॉडल

{
"database" : {
"connection" : "localmysql",
"sql" : "SELECT ProductID,ProductName,CategoryName,SupplierName,Price FROM ((Products LEFT JOIN Suppliers ON Products.SupplierID=Suppliers.SupplierID) LEFT JOIN Categories ON Products.CategoryID=Categories.CategoryID)",
"orderby" : "ProductName"
},
"filteritems" : [
{"item" : "ProductName", "label" : "Name"},
{"item" : "Products.SupplierID", "type" : "number", "hidden" : "true"},
{"item" : "Suppliers.SupplierID", "label" : "Supplier"},
{"item" : "Categories.CategoryID", "label" : "Category"}
],
"sortitems" : [
{"item" : "ProductName"}
]

फॉर्म मॉडल

{
"database" : {
"connection" : "localmysql",
"sql" : "SELECT * FROM Products",
"maintable" : "Products",
"keyfield" : "ProductID"
},
"updateItems" : [
{"item" : "ProductName"},
{"item" : "SupplierID"},
{"item" : "CategoryID"},
{"item" : "Unit"},
{"item" : "Price"}
]
}