我正在做一个项目来显示来自mysql的数据,我目前正在使用php和angularjs。
我需要创建一个表来显示我从mysql中获取的数据,但我不知道格式是怎样的,我仍然是角度新的,不知道控制器,模块和指令是如何工作的。我被告知要创建一个单独的“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>
如果你们能告诉我哪条路走,那就太好了。
答案 0 :(得分:0)
创建一个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>
检查设置角度项目https://scotch.io/tutorials/angularjs-best-practices-directory-structure
的最佳做法答案 1 :(得分:0)
我通过创建以下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
});