a

ABLY مقالات و مطالب مجموعه

دوره آموزشی AngularJS به زبان فارسی - بخش هشتم

دوره آموزشی AngularJS به زبان فارسی - بخش هشتم

بسم الله الرحمن الرحیم

 

این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک Single Page Application با ASP.NET Web API و  Angular.js " مراجعه

 

بسم الله الرحمن الرحیم

 

این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک Single Page Application با ASP.NET Web API و  Angular.js " مراجعه کنید.

 

مشاهده تمامی آموزش های دوره AngularJS

آموزش AngularJS

بخش هشتم

 


AngularJS SQL

کد مثال قبل را می توان برای خواندن اطلاعات از دیتابیس استفاده کرد.
 

 

واکشی اطلاعات از یک MYSQL اجرا شده بر روی یک سرور PHP

 <div ng-app="" ng-controller="customersController">

<table>
  <tr ng-repeat="x in names">
    <td>{{ x.Name }}</td>
    <td>{{ x.Country }}</td>
  </tr>
</table>

</div>

<script>
function customersController($scope,$http) {
    var site = "http://www.w3schools.com";
    var page = "/website/Customers_MySQL.php";
    $http.get(site + page)
    .success(function(response) {$scope.names = response;});
}
</script>

 

 

واکشی اطلاعات از یک SQL Server اجرا شده بر روی یک سرور ASP.NET

 <div ng-app="" ng-controller="customersController">

<table>
  <tr ng-repeat="x in names">
    <td>{{ x.Name }}</td>
    <td>{{ x.Country }}</td>
  </tr>
</table>

</div>

<script>
function customersController($scope,$http) {
    var site = "http://www.w3schools.com";
    var page = "/website/Customers_SQL.aspx";
    $http.get(site + page)
    .success(function(response) {$scope.names = response;});
}
</script> 

 

 

در بخش های زیر کدهای سمت سرور مختلفی برای واکشی اطلاعات SQL نوشته شده است. در تمامی روش های این کدها اطلاعات را به روش JSON دریافت می کنند.

 

Cross-Site HTTP Requests

درخواست برای داده ها از سرور های مختلف (از صفحه درخواست) cross-site HTTP request نامیده می شود.

درخواست های Cross-site در وب مشترک هستند. بسیاری از صفحات CSS، Script و تصاویر را از سرور های مختلف لود می کنند. در مرورگرهای مدرن، درخواست های cross-site HTTP به دلایل امنیتی فقط به همان وب سایت محدود شده اند.

 

در کد زیر که در مثال ما وجود دارد، دسترسی به cross-site را اضافه می کند:

header("Access-Control-Allow-Origin: *");

 

PHP and MYSQL

<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

$conn = new mysqli("myServer", "myUser", "myPassword", "Northwind");

$result = $conn->query("SELECT CompanyName, City, Country FROM Customers");

$outp = "[";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
    if ($outp != "[") {$outp .= ",";}
    $outp .= '{"Name":"'  . $rs["CompanyName"] . '",';
    $outp .= '"City":"'   . $rs["City"]        . '",';
    $outp .= '"Country":"'. $rs["Country"]     . '"}';
}
$outp .="]";

$conn->close();

echo($outp);
?> 

 

 

PHP and MS Access

<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=ISO-8859-1");

$conn = new COM("ADODB.Connection");
$conn->open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb");

$rs = $conn->execute("SELECT CompanyName, City, Country FROM Customers");

$outp = "[";
while (!$rs->EOF) {
    if ($outp != "[") {$outp .= ",";}
    $outp .= '{"Name":"'  . $rs["CompanyName"] . '",';
    $outp .= '"City":"'   . $rs["City"]        . '",';
    $outp .= '"Country":"'. $rs["Country"]     . '"}';
    $rs->MoveNext();
}
$outp .= "]";

$conn->close();

echo ($outp);
?> 

 

ASP.NET, VB and MS Access

<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<%
Response.AppendHeader("Access-Control-Allow-Origin", "*")
Dim conn As OleDbConnection
Dim objAdapter As OleDbDataAdapter
Dim objTable As DataTable
Dim objRow As DataRow
Dim objDataSet As New DataSet()
Dim outp
Dim c
conn = New OledbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=Northwind.mdb")
objAdapter = New OledbDataAdapter("SELECT CompanyName, City, Country FROM Customers", conn)
objAdapter.Fill(objDataSet, "myTable")
objTable=objDataSet.Tables("myTable")

outp = "["
c = chr(34)
for each x in objTable.Rows
if outp <> "[" then outp = outp & ","
outp = outp & "{" & c & "Name"    & c & ":" & c & x("CompanyName") & c & ","
outp = outp &       c & "City"    & c & ":" & c & x("City")        & c & ","
outp = outp &       c & "Country" & c & ":" & c & x("Country")     & c & "}"
next

outp = outp & "]"
response.write(outp)
conn.close
%> 

 

ASP.NET, VB Razor and SQL Lite

@{
Response.AppendHeader("Access-Control-Allow-Origin", "*")
var db = Database.Open("Northwind");
var query = db.Query("SELECT CompanyName, City, Country FROM Customers");
var outp ="["
}
@foreach(var row in query)
{
if outp <> "[" then outp = outp + ","
outp = outp + "{" + c + "Name"    + c + ":" + c + @row.CompanyName + c + ","
outp = outp +       c + "City"    + c + ":" + c + @row.City        + c + ","
outp = outp +       c + "Country" + c + ":" + c + @row.Country     + c + "}"
}
outp = outp + "]"
@outp 

 

مشاهده تمامی آموزش های دوره AngularJS

نظرات

  • Hannah Martinez
    nahal
    دو شنبه 11 دی 1278 0:00

    salam vaght bekheir
    man ye form sade dataentry daram misazam . in forme chandta dropdown, dare k harkodom bayad jodagane bind shan . banabarin bayad controller haye khodeshono dashte bashan va dar akhar etelaat in form bayad dar database zakhire beshe .
     in form dakhele ye table html dorost shode .
    lotfan agee emkan dare rahnameem koind k aslan bayad chikar konam.
    mamnonam az vaghti k mizarin .

  • Hannah Martinez
    nahal
    دو شنبه 11 دی 1278 0:00

    salam ,roz bekhair
    man ye moshkeli daram , chetor mishe dakhle ye table chandta controller estefade kard
    lotfan age komakam konid

    • Judith Bell
      پاسخ
      حسینبهزادی
      دو شنبه 11 دی 1278 0:00

      با عرض سلام
      اگر منظورتان را درست متوجه شده باشم، برای استفاده از چند Controller در یک کلاس می توانید از مثال های ابتدایی همین دوره کمک بگیرید اما منظورتان از استفاده کردن چند controller در یک Table را متوجه نمی شوم!

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :Phone Number
0713 625 1757 :Phone Number