【问题标题】:Need help separating my project. Angularjs+Php+MySQL需要帮助分离我的项目。 Angularjs+PHP+MySQL
【发布时间】:2017-02-07 13:30:52
【问题描述】:

我正在做一个项目来显示来自 mysql 的数据,我目前使用 php 和 angularjs。

我需要创建一个表格来显示我从 mysql 获取的数据,但我不知道格式如何,我还是 Angular 的新手,不知道控制器、模块和指令是如何工作的。我被告知要创建一个单独的“js”文件并将我的角度函数放在那里。所以我只会将“php”文件用于连接吗?。

我还需要将一些图表与我正在获取的数据集成,并计划使用谷歌图表。

我在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>

如果你们能告诉我该走哪条路就好了。

【问题讨论】:

    标签: javascript php mysql angularjs


    【解决方案1】:

    创建一个 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

    【讨论】:

    • 感谢您的帮助,您在哪里写了“//在这里写代码”,那里应该输入什么?
    【解决方案2】:

    我通过创建以下 selectController.js 文件来修复它,下面是 cmets。

    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
    });
    

    【讨论】:

      猜你喜欢
      • 2014-04-07
      • 1970-01-01
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 2014-02-05
      • 2021-03-04
      • 1970-01-01
      相关资源
      最近更新 更多