我正在做一个显示mysql数据的项目,我目前使用的是php和angularjs。
我需要创建一个表格来显示我从mysql中获取的数据,但我不知道格式是如何的,我在angular中仍然是新的,不知道控制器,模块和指令是如何工作的。我被告知要创建一个单独的"js“文件,并将我的角度函数放在那里。所以我将只对连接使用"php“文件,对吗?
我还需要集成一些图表与数据im提取,并计划使用谷歌图表。
我在php中有以下代码
<?php
error_reporting(E_ALL);
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json; charset=utf-8');
//puerto 3306 en caso de requerir
$conn = mysql_connect('iphost', 'user', 'password');
mysql_select_db('bdname', $conn);
$result=mysql_query("Select
projects.project_name As project_name,
projects.project_alert,
If((tasks.task_percent_complete < (((To_Days(CurDate()) -
To_Days(tasks.task_start_date)) * 100) / (To_Days(tasks.task_end_date) -
To_Days(tasks.task_start_date)))), _utf8'ATRASADO', _utf8'ALDIA') As Estado
From ((tasks Join
projects On tasks.task_project = projects.project_id) Join
users On tasks.task_owner = users.user_id) Join
companies On projects.project_company = companies.company_id
Where ((tasks.task_end_date < (CurDate() + Interval 10 Day)) Or
(tasks.task_end_date = 0)) And tasks.task_percent_complete < 100 And
companies.company_name = _utf8'2017 - Proyectos' ");
$json = array();
while($row = mysql_fetch_array ($result))
{
$bus = array(
'proyecto' => $row['project_name'],
'alerta' => $row['project_alert'],
'Estado' => $row['Estado']
);
array_push($json, $bus);
}
$jsonstring = json_encode($json);
echo $jsonstring;
?>和我的html来显示数据:
<!DOCTYPE html>
<html>
<head>
<title>Probando select</title>
<meta charset="utf-8">
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js">
</script>
</head>
<body>
<div ng-app="selectApp" ng-controller="selectController">
<h1>Probando Select dotproject</h1>
<table class="table table-striped table-bordered table-condensed table-hover">
<tr style="color:grey">
<th>Proyecto</th>
<th>Alerta</th>
<th>Estado</th>
</tr>
<tr ng-repeat="x in content" >
<td>{{x.proyecto}}</td>
<td>{{x.alerta}}</td>
<td>{{x.Estado}}</td>
</tr>
</table>
</div>
</body>
<script>
var postApp = angular.module("selectApp", []);
postApp.controller("selectController", function($scope, $http) {
$http.get("selectPrueba.php")
.then(function(response) {
$scope.content = response.data;
});
});
</script>
</html>如果你们能告诉我该走哪条路就太好了。
发布于 2017-02-07 21:39:49
创建selectController.js文件
(function () {
// ----------------------- selectApp Controller Start -----------------------
var selectController = function ($scope, $http,) {
//write code here
$http.get("selectPrueba.php")
.then(function(response) {
$scope.content = response.data;
});
selectController.$inject = ['$scope', '$http'];
angular.module('selectApp')
.controller('selectController', selectController);
// ----------------------- selectApp Controller End -----------------------
}());在html中添加此文件
<script src="path/to/selectController.js"></script>查看设置angular项目https://scotch.io/tutorials/angularjs-best-practices-directory-structure的最佳实践
发布于 2017-02-08 04:17:38
我通过创建下面的selectController.js文件修复了它,并在下面添加了注释。
var app = angular.module('selectApp', []);
app.controller('selectController', function($scope, $http) {
$http.get("selectPrueba.php")// aca se consume el JSON que viene de selectPrueba.php
.then(function (response) {$scope.content = response.data;});
// acá los datos extraidos en selectPrueba son asignados a la variable content
});https://stackoverflow.com/questions/42091140
复制相似问题