دوره آموزشی AngularJS به زبان فارسی - بخش هشتم
بسم الله الرحمن الرحیم
این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک 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
نظرات (۲)
با عرض سلام
اگر منظورتان را درست متوجه شده باشم، برای استفاده از چند Controller در یک کلاس می توانید از مثال های ابتدایی همین دوره کمک بگیرید اما منظورتان از استفاده کردن چند controller در یک Table را متوجه نمی شوم!
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 .
man ye moshkeli daram , chetor mishe dakhle ye table chandta controller estefade kard
lotfan age komakam konid