AngularJS SQL

使用 PHP 从 MySQL 中获取数据

  1. <div ng-app="myApp" ng-controller="customersCtrl">
  2. <table>
  3. <tr ng-repeat="x in names">
  4. <td>{{ x.Name}}</td>
  5. <td>{{ x.Country}}</td>
  6. </tr>
  7. </table>
  8. </div>
  9. <script>
  10. var app = angular.module('myApp',[]);
  11. app.controller('customersCtrl',function($scope, $http){
  12. $http.get("test.php")
  13. .success(function(response){$scope.names = response.records;});
  14. });
  15. </script>
 

ASP.NET 中执行 SQL 获取数据

  1. <div ng-app="myApp" ng-controller="customersCtrl">
  2. <table>
  3. <tr ng-repeat="x in names">
  4. <td>{{ x.Name}}</td>
  5. <td>{{ x.Country}}</td>
  6. </tr>
  7. </table>
  8. </div>
  9. <script>
  10. var app = angular.module('myApp',[]);
  11. app.controller('customersCtrl',function($scope, $http){
  12. $http.get("test.aspx")
  13. .success(function(response){$scope.names = response.records;});
  14. });
  15. </script>
 
test.aspx 内容:
 
  1. {"records":[
  2. {
  3. "Name":"Alfreds Futterkiste",
  4. "City":"Berlin",
  5. "Country":"Germany"
  6. },
  7. {
  8. "Name":"Berglunds snabbköp",
  9. "City":"Luleå",
  10. "Country":"Sweden"
  11. },
  12. {
  13. "Name":"Centro comercial Moctezuma",
  14. "City":"México D.F.",
  15. "Country":"Mexico"
  16. },
  17. {
  18. "Name":"Ernst Handel",
  19. "City":"Graz",
  20. "Country":"Austria"
  21. },
  22. {
  23. "Name":"FISSA Fabrica Inter. Salchichas S.A.",
  24. "City":"Madrid",
  25. "Country":"Spain"
  26. },
  27. {
  28. "Name":"Galería del gastrónomo",
  29. "City":"Barcelona",
  30. "Country":"Spain"
  31. },
  32. {
  33. "Name":"Island Trading",
  34. "City":"Cowes",
  35. "Country":"UK"
  36. },
  37. {
  38. "Name":"Königlich Essen",
  39. "City":"Brandenburg",
  40. "Country":"Germany"
  41. },
  42. {
  43. "Name":"Laughing Bacchus Wine Cellars",
  44. "City":"Vancouver",
  45. "Country":"Canada"
  46. },
  47. {
  48. "Name":"Magazzini Alimentari Riuniti",
  49. "City":"Bergamo",
  50. "Country":"Italy"
  51. },
  52. {
  53. "Name":"North/South",
  54. "City":"London",
  55. "Country":"UK"
  56. },
  57. {
  58. "Name":"Paris spécialités",
  59. "City":"Paris",
  60. "Country":"France"
  61. },
  62. {
  63. "Name":"Rattlesnake Canyon Grocery",
  64. "City":"Albuquerque",
  65. "Country":"USA"
  66. },
  67. {
  68. "Name":"Simons bistro",
  69. "City":"København",
  70. "Country":"Denmark"
  71. },
  72. {
  73. "Name":"The Big Cheese",
  74. "City":"Portland",
  75. "Country":"USA"
  76. },
  77. {
  78. "Name":"Vaffeljernet",
  79. "City":"Århus",
  80. "Country":"Denmark"
  81. },
  82. {
  83. "Name":"Wolski Zajazd",
  84. "City":"Warszawa",
  85. "Country":"Poland"
  86. }
  87. ]}
 

服务端代码

以下列出了列出了几种服务端代码类型:

  1. 使用 PHP 和 MySQL。返回 JSON。
  2. 使用 PHP 和 MS Access。返回 JSON。
  3. 使用 ASP.NET, VB, 及 MS Access。 返回 JSON。
  4. 使用 ASP.NET, Razor, 及 SQL Lite。 返回 JSON。

跨域 HTTP 请求

如果你需要从不同的服务器(不同域名)上获取数据就需要使用跨域 HTTP 请求。

跨域请求在网页上非常常见。很多网页从不同服务器上载入 CSS, 图片,Js脚本等。

在现代浏览器中,为了数据的安全,所有请求被严格限制在同一域名下,如果需要调用不同站点的数据,需要通过跨域来解决。

以下的 PHP 代码运行使用的网站进行跨域访问。

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

1. PHP 和 MySql 代码实例

  1. <?php
  2. header("Access-Control-Allow-Origin: *");
  3. header("Content-Type: application/json; charset=UTF-8");
  4. $conn =new mysqli("myServer","myUser","myPassword","Northwind");
  5. $result = $conn->query("SELECT CompanyName, City, Country FROM Customers");
  6. $outp ="";
  7. while($rs = $result->fetch_array(MYSQLI_ASSOC)){
  8. if($outp !=""){$outp .=",";}
  9. $outp .='{"Name":"'. $rs["CompanyName"].'",';
  10. $outp .='"City":"'. $rs["City"].'",';
  11. $outp .='"Country":"'. $rs["Country"].'"}';
  12. }
  13. $outp ='{"records":['.$outp.']}';
  14. $conn->close();
  15. echo($outp);
  16. ?>
 

2. PHP 和 MS Access 代码实例

  1. <?php
  2. header("Access-Control-Allow-Origin: *");
  3. header("Content-Type: application/json; charset=ISO-8859-1");
  4. $conn =new COM("ADODB.Connection");
  5. $conn->open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb");
  6. $rs = $conn->execute("SELECT CompanyName, City, Country FROM Customers");
  7. $outp ="";
  8. while(!$rs->EOF){
  9. if($outp !=""){$outp .=",";}
  10. $outp .='{"Name":"'. $rs["CompanyName"].'",';
  11. $outp .='"City":"'. $rs["City"].'",';
  12. $outp .='"Country":"'. $rs["Country"].'"}';
  13. $rs->MoveNext();
  14. }
  15. $outp ='{"records":['.$outp.']}';
  16. $conn->close();
  17. echo ($outp);
  18. ?>
 

3. ASP.NET, VB 和 MS Access 代码实例

  1. <%@ImportNamespace="System.IO"%>
  2. <%@ImportNamespace="System.Data"%>
  3. <%@ImportNamespace="System.Data.OleDb"%>
  4. <%
  5. Response.AppendHeader("Access-Control-Allow-Origin","*")
  6. Response.AppendHeader("Content-type","application/json")
  7. Dim conn AsOleDbConnection
  8. Dim objAdapter AsOleDbDataAdapter
  9. Dim objTable AsDataTable
  10. Dim objRow AsDataRow
  11. Dim objDataSet AsNewDataSet()
  12. Dim outp
  13. Dim c
  14. conn =NewOledbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=Northwind.mdb")
  15. objAdapter =NewOledbDataAdapter("SELECT CompanyName, City, Country FROM Customers", conn)
  16. objAdapter.Fill(objDataSet,"myTable")
  17. objTable=objDataSet.Tables("myTable")
  18. outp =""
  19. c = chr(34)
  20. for each x in objTable.Rows
  21. if outp <>"" then outp = outp &","
  22. outp = outp &"{"& c &"Name"& c &":"& c & x("CompanyName")& c &","
  23. outp = outp & c &"City"& c &":"& c & x("City")& c &","
  24. outp = outp & c &"Country"& c &":"& c & x("Country")& c &"}"
  25. next
  26. outp ="{"& c &"records"& c &":["& outp &"]}"
  27. response.write(outp)
  28. conn.close
  29. %>
 

4. ASP.NET, VB Razor 和 SQL Lite 代码实例

  1. @{
  2. Response.AppendHeader("Access-Control-Allow-Origin","*")
  3. Response.AppendHeader("Content-type","application/json")
  4. var db =Database.Open("Northwind");
  5. var query = db.Query("SELECT CompanyName, City, Country FROM Customers");
  6. var outp =""
  7. var c = chr(34)
  8. }
  9. @foreach(var row in query)
  10. {
  11. if outp <>"" then outp = outp +","
  12. outp = outp +"{"+ c +"Name"+ c +":"+ c +@row.CompanyName+ c +","
  13. outp = outp + c +"City"+ c +":"+ c +@row.City+ c +","
  14. outp = outp + c +"Country"+ c +":"+ c +@row.Country+ c +"}"
  15. }
  16. outp ="{"+ c +"records"+ c +":["+ outp +"]}"
  17. @outp
 

【10】AngularJS SQL的更多相关文章

  1. 【原创 Hadoop&Spark 动手实践 10】Spark SQL 程序设计基础与动手实践(下)

    [原创 Hadoop&Spark 动手实践 10]Spark SQL 程序设计基础与动手实践(下) 目标: 1. 深入理解Spark SQL 程序设计的原理 2. 通过简单的命令来验证Spar ...

  2. 【数据库】优化SQL语言

    第1章数据模型设计 第1条:确保所有表都有主键 [1]当表缺少主键时,会出现各种问题,所有表都必须有一列(或多列)设置为主键. [2]主键应当具备的特征 唯一性,值非空,不可变,尽可能简单 [3]不要 ...

  3. 【转】PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理

    [转]PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理 只要有人用了: select t.* from ...

  4. 企业IT管理员IE11升级指南【10】—— 如何阻止IE11的安装

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  5. 【10】css hack原理及常用hack

    [10]css hack原理及常用hack 原理:利用不同浏览器对CSS的支持和解析结果不一样编写针对特定浏览器样式.常见的hack有1)属性hack.2)选择器hack.3)IE条件注释 IE条件注 ...

  6. 【MyBatis】动态 SQL

    [MyBatis]动态 SQL 转载: 目录 ========================================== 1.if 2.choose when otherwise 3.tri ...

  7. 【转】PL/SQL 使用技巧

    ref:http://blog.chinaunix.net/uid-21592001-id-3082675.html [转]plsql developer 使用技巧 Oracle数据库相信已成为很多企 ...

  8. 【MySQL】为什么SQL会这么慢

    建表 CREATE TABLE `ts_ab` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` varchar(20) CHARACTER ...

  9. 【转载】通过sql server 连接mysql

    http://www.cnblogs.com/goole/p/5291286.html 1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql ...

随机推荐

  1. log4j日志基本配置

    Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松 ...

  2. 0623-TP框架整理一(下载、入口文件、路由、创建控制器、调用模板、系统常量、命名空间)

    一.下载解压后用ThinkPHP(核心)文件 核心文件夹(ThinkPHP)不要改,是作用于全局的,有需要可以改应用目录(Application) 二.创建入口文件: 运行后出现欢迎界面,在说明系统自 ...

  3. 微信小程序获取自定义属性值

    写小程序的时候用到了自定义属性,特地来记录一下 特别是这个坑,必须得说一说 wxml <view class='box' bindtap='getValue'> <view clas ...

  4. Linux学习系列八:操作网口

    一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在 ...

  5. Linux环境下卸载、安装及配置MySQL5.1

    Linux环境下卸载原有MySQL5.1数据库,并重新安装MySQL数据库的示例记录. 一.卸载MySQL 查看主机中是否安装了MySQL数据库: [root@RD-viPORTAL- ~]# rpm ...

  6. 网上商城 Incorrect datetime value: '' for column 'ordertime' at row 1

    今天在做商城项目的[提交订单]功能的时候,向数据库插入数据报错:Incorrect datetime value: '' for column 'ordertime' at row 1 public ...

  7. git初使用的心得

    转到Java方向后,版本控制工具也开始以git为主了.由于之前不怎么使用bash,所以目前还是以ui工具,比如sourcetree为主导,但一些简单的操作命令,已经能够快速地使用.sourcetree ...

  8. Android 新闻app的顶部导航栏,怎么实现动态加载?

    TabLayout + viewpager 其中viewpager的适配器要继承FragmentPagerAdapter,要实现动态更新,最主要的是适配器的写法,要在数据发生变化之后清除Fragmen ...

  9. Android基础TOP5_2:MultiAutoCompleteTextView多文本自动补全文本框

    Activity: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...

  10. Memcached通信协议

    英文水平很烂,做梦都想着能把英语学习,可以使用一口流利的英文和洋鬼子交流,顺便忽悠下自己的同胞.没有地方学习英语,看还可以,网上有很多关于计算机的英文文献,写还行,说就完全不可能了.在以后的工作中慢慢 ...