Php 如何使用Angularjs操作SQL返回的数据
我使用AngularJS调用SQL查询并返回整个表。在检索到数据后,是否有一种方法可以在前端处理数据,或者最好在处理页面返回到Angular之前对其进行处理 下面的代码显示了我用来检索数据的app.js文件,我还包括了一行HTML来显示我试图实现的输出类型的示例 app.jsPhp 如何使用Angularjs操作SQL返回的数据,php,mysql,sql,angularjs,pdo,Php,Mysql,Sql,Angularjs,Pdo,我使用AngularJS调用SQL查询并返回整个表。在检索到数据后,是否有一种方法可以在前端处理数据,或者最好在处理页面返回到Angular之前对其进行处理 下面的代码显示了我用来检索数据的app.js文件,我还包括了一行HTML来显示我试图实现的输出类型的示例 app.js var dashboardApp = angular.module('dashboardApp', []); dashboardApp.controller('dashboardController', function(
var dashboardApp = angular.module('dashboardApp', []);
dashboardApp.controller('dashboardController', function($scope, $http, $location, $anchorScroll) {
$http.get('lib/dbp.php').success(function(data) {
$scope.surveydata = data;
});
});
示例HTML
<ul>
<li ng-repeat="item in surveydata['data']">{{item.location}}</li>
</ul>
{{surveydata['data'].location.length}}
ng repeat
部分可以很好地用于基本数据输出,但与location.length一起使用。实际上,我想做的是能够单独计算位置的数量,即1区提交了5次调查,2区提交了8次调查
我是Angularjs的新手,所以我正在尝试找出适合这种情况的最佳做法
我希望看到的输出是“达拉斯”位置的所有记录的计数,或者是“达拉斯”所有记录的平均分数。我还想做很多其他事情,但掌握如何进行上述简单的数据操作将有助于数据的其他应用。使用SQL查询始终返回整个表通常不是一个好做法。如果你保证永远拥有一张小桌子(一个强有力的声明),这是可以接受的。否则,最好针对将要显示的任何数据进行查询,并使用第二个查询获取高级信息,如count
我不知道您的后端是什么样子的,但典型的方法是这样的(伪代码):
然后在前端处理{rows:[…],count:123}
,根据您的上述需要,它应该是您想要的格式。使用SQL查询始终返回整个表通常不是一个好做法。如果你保证永远拥有一张小桌子(一个强有力的声明),这是可以接受的。否则,最好针对将要显示的任何数据进行查询,并使用第二个查询获取高级信息,如count
我不知道您的后端是什么样子的,但典型的方法是这样的(伪代码):
然后在前端处理{rows:[…],count:123}
,根据您的上述需要,应采用您想要的格式。将从查询中收到的示例数据和您想要的视图放入大多数情况下,更可取的选择是创建一个sql查询,该查询以不需要操作的方式返回数据。您需要在问题中添加更多信息。例如,您从SQL查询中获得的数据是什么样子的,以及您希望如何准确地操作数据。用现在这样的措辞,很难理解你具体在问什么。我已经添加了一个数据输出示例,并对我希望看到的数据操作输出类型进行了澄清。希望有帮助,请让我知道是否需要更多的细节。这个项目的总体目标是创建一个信息面板页面。将从查询中收到的示例数据和您希望看到的视图放置在大多数情况下,更好的选择是创建一个sql查询,该查询返回数据的方式不需要您需要放置的操作在你的问题中提供更多信息。例如,您从SQL查询中获得的数据是什么样子的,以及您希望如何准确地操作数据。用现在这样的措辞,很难理解你具体在问什么。我已经添加了一个数据输出示例,并对我希望看到的数据操作输出类型进行了澄清。希望这有帮助,请让我知道是否需要更多的细节。这个项目的总体目标是创建一个信息面板页面。
{ "data": [
{
"surveyid": "51",
"customerName": "Steve Jones",
"companyName": "Acme",
"projectName": "Various Project",
"customerPhone": "",
"customerEmail": "",
"location": "Dallas",
"q1": "1",
"q1Comment": "None",
"q2": "1",
"q2Comment": "None",
"q3": "1",
"q3Comment": "None",
"q4": "2",
"q4Comment": "None",
"q5": "1",
"q5Comment": "None",
"q6": "Yes",
"q6Comment": "Always.",
"q7": "Yes",
"q7Comment": "Always.",
"q8": "Yes",
"q8Comment": "Certainly.",
"q9": "Yes",
"q9Comment": "None",
"q10Comment": "None",
"q11Comment": "Keep up the good work!",
"q12": "No",
"timestamp": "2015-07-17 11:08:24",
"ipaddress": ""
}
data = {}
SELECT surveyid, customerName, ... FROM "YourTable" WHERE (...) LIMIT 48 OFFSET 0;
response -> data.rows = response
SELECT count(*) FROM "YourTable" WHERE (...);
response -> data.count = response
return data