AngularJS SQL
Kod dalam bab sebelumnya juga boleh digunakan untuk membaca data daripada pangkalan data.
Dapatkan data daripada MySQL menggunakan PHP
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> <style> table, th , td { border: 1px solid grey; border-collapse: collapse; padding: 5px; } table tr:nth-child(odd) { background-color: #f1f1f1; } table tr:nth-child(even) { background-color: #ffffff; } </style> </head> <body> <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names"> <td>{{ x.Name }}</td> <td>{{ x.Country }}</td> </tr> </table> </div> <script> var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $http) { $http.get("/try/angularjs/data/Customers_MySQL.php") .success(function (response) {$scope.names = response.records;}); }); </script> </body> </html>
Jalankan instance»
Klik butang "Jalankan Instance" untuk melihat contoh dalam talian
Laksanakan SQL dalam ASP.NET untuk mendapatkan data
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> <style> table, th , td { border: 1px solid grey; border-collapse: collapse; padding: 5px; } table tr:nth-child(odd) { background-color: #f1f1f1; } table tr:nth-child(even) { background-color: #ffffff; } </style> </head> <body> <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names"> <td>{{ x.Name }}</td> <td>{{ x.Country }}</td> </tr> </table> </div> <script> var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $http) { $http.get("http://www.runoob.com/try/angularjs/data/Customers_SQL.aspx") .success(function (response) {$scope.names = response.records;}); }); </script> </body> </html>
Jalankan Instance»
Klik butang "Run Instance" untuk melihat contoh dalam talian
Kod Pelayan
Lajur disenaraikan di bawah Beberapa jenis kod sebelah pelayan tersedia:
Menggunakan PHP dan MySQL. Kembalikan JSON.
Menggunakan PHP dan MS Access. Kembalikan JSON.
Gunakan ASP.NET, VB dan MS Access. Kembalikan JSON.
Menggunakan ASP.NET, Razor dan SQL Lite. Kembalikan JSON.
Permintaan HTTP merentas domain
Jika anda perlu mendapatkan data daripada pelayan yang berbeza (nama domain yang berbeza), anda perlu menggunakan permintaan HTTP merentas domain .
Permintaan silang asal adalah sangat biasa di halaman web. Banyak halaman web memuatkan CSS, imej, skrip Js, dsb. daripada pelayan yang berbeza.
Dalam penyemak imbas moden, untuk keselamatan data, semua permintaan adalah terhad kepada nama domain yang sama Jika anda perlu memanggil data dari tapak yang berbeza, anda perlu menyelesaikannya melalui merentas domain.
Kod PHP berikut menjalankan tapak web yang digunakan untuk akses merentas domain.
Untuk lebih banyak penyelesaian akses merentas domain, sila rujuk: Penyelesaian terbaik untuk masalah merentas domain PHP Ajax.
1. Contoh kod PHP dan MySql
header("Access-Control-Allow-Origin: *");
header("Jenis Kandungan: application/json; charset=UTF-8");
$conn = mysqli baharu("myServer", "myUser", "myPassword", "Northwind");
$result = $conn->query("SELECT Nama Syarikat, Bandar, Negara DARI Pelanggan");
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"Nama":"' . $rs["Nama Syarikat"] . '",';
$outp .= '"City":"' . $rs["City"] . '",';
$outp .= '"Country":"'. $rs["Country"] . ' "}';
}
$outp ='{"records":['.$outp.']}';
$conn->close();
gema ($outp);
?>
2. PHP 和 MS Access 代码实例
header("Access-Control-Allow-Origin: *");
header("Content-Type: aplikasi/json; charset=ISO-8859-1");
$conn = new COM("ADODB.Connection");
$conn->open("PROVIDER=Microsoft.Jet.OLEDB.4.0; Sumber Data=Northwind.mdb");
$rs = $conn->execute("PILIH Nama Syarikat, Bandar, Negara DARI Pelanggan");
$outp = "";
sementara (!$rs->EOF) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"Name":"' . $rs["CompanyName"] . '",';
$outp .= '"Bandar":"' . $rs["Bandar"] . '",';
$outp .= '"Negara":"'. $rs["Negara"] . ' "}';
$rs->MoveNext();
}
$outp ='{"records":['.$outp.']}';
$ sambung->tutup();
gema ($outp);
?>
3. ASP.NET, VB 和 MS Access 代码实例
<%@ Import Namespace="System.Data"% >
<%@ Import Namespace="System.Data.OleDb"%>
<%
Response.AppendHeader("Access-Control-Allow-Origin", "*")
Response.AppendHeader("Content-type", "application/json")
Malapkan sambungan Sebagai OleDbConnection
Malapkan objAdapter Sebagai OleDbDataAdapter
Malapkan objTable As DataTable
Malapkan objRow Sebagai DataRow
Malapkan objDataSet Sebagai Set Data Baharu()
Malapkan keluar
Malapkan c
sambung = OledbConnection Baharu("Provider=Microsoft.Jet.OLEDB.4.0; source=Northwind.mdb")
objAdapter = New OledbDataAdapter("SELECT Nama Syarikat, Bandar, Negara DARI Pelanggan", samb)
objAdapter.Fill(objDataSet, "myTable")
objTable=objDataSet.Tables("myTable")
outp = ""
c = chr(34)
untuk setiap x dalam objTable.Rows
jika outp <> "" kemudian outp = outp & ","
outp = outp & "{" & c & "Name" & c & ":" & c & x("Nama Syarikat") & c & ","
outp = outp & c & "City" & c & ":" & c & x("Bandar") & c & ","
outp = outp & c & "Negara" & c & ":" & c & x("Negara") & c & "}"
seterusnya
outp ="{" & c & "rekod" & c & ":[" & outp & "]}"
respons.write(outp)
conn.close
%>
4. ASP.NET, VB Razor 和 SQL Lite 代码实例
Response.AppendHeader("Access-Control-Allow-Origin", "*")
Response.AppendHeader("Content-type", "application/json")
var db = Database.Open("Northwind");
var query = db.Query("SELECT CompanyName, Bandar, Negara DARIPADA Pelanggan");
var outp =""
var c = chr(34)
}
@foreach(var row in pertanyaan)
{
jika outp <> "" kemudian outp = outp + ","
outp = outp + "{" + c + "Nama" + c + ":" + c + @row.CompanyName + c + ","
outp = outp + c + "Bandar" + c + ":" + c + @row.City + c + ","
outp = outp + c + "Negara" + c + ":" + c + @row.Country + c + "}"
}
outp ="{" + c + "rekod" + c + ":[" + outp + "]}"
@outp