Я пытаюсь заполнить список выбора данными из моей базы данных (php и mysql). Я работаю с AngularJs и Angular Material. Так что я не могу показать данные из БД в списке
ситуация с БД:
- tblProjectType -> имя таблицы
- 2 rows:
- id_ProjectType
- тип_проекта
Любая помощь или указатели были бы замечательными.
Это мой HTML-код:
<form ng-controller="AppCtrl">
<div layout="row">
<md-select-label>Project type</md-select-label>
<md-select ng-model="project_type" name="project_type" placeholder="Choose a project type" id="containerProjectType">
<md-option ng-repeat="projecttype in projecttypes" value="{{projecttype.id_ProjectType}}">{{projecttype.project_type}}</md-option>
</md-select>
</div>
</form>
Код моего app.js:
var app = angular.module("DragDrop", ['ngMaterial']);
app.controller('AppCtrl', function($scope, $mdDialog, $http) {
$scope.projectTypeInfo = [];
var getProjectTypeFunction = function(succesFn, errorFn)
{
$http.get('db.php?action=get_ProjectType_info')// call to the server
.succesFn(function(data){
succesFn(data); //call the function passed into getProjectTypeFunction with the data from the server
console.log('Retrieved data from server');
})
.error(errorFn || function() {
console.log("Error in retrieving data from server");
})
}
this.reloadProjectTypeList = function()
{
getProjectTypeFunction(
/* success function */
function(data) {
//debugger;
$scope.projectTypeInfo = data;
//digest recycle
//if (!$scope.$$phase) { $scope.$apply(); }
},
/* error function */
function()
{
alert("Server load failed");
})
};
Мой php-код:
<?php
include('config.php');
//echo ('test' . $_GET['action']);
switch($_GET['action']) {
case 'get_ProjectType_info' :
get_ProjectType_info();
break;
}
/** Function to data from tblProjectType **/
function get_ProjectType_info(){
$qry = mysql_query('SELECT * from tblProjectType');
echo("test");
//echo(qry);
$data = array();
while($rows = mysql_fetch_array($qry))
{
$data[] = array(
"id_ProjectType" => $rows['id_ProjectType'],
"project_type" => $rows['project_type']
);
}
print_r(json_encode($data));
return json_encode($data);
}
?>
reloadProjectTypeList
, который вызываетgetProjectTypeFunction
. Я не вижу, чтобы его где-нибудь вызывали. Я вижу здесь некоторую избыточность. Возможно, вы захотите переосмыслить, как вы вызываете файл PHP. - person Ronnie   schedule 01.07.2015console.log("test");
, который не является функцией PHP, это функция JS - person Ronnie   schedule 01.07.2015get_ProjectType_info
просто возвращает данные, и вы больше ничего не делаете. Вы должныecho
вывести все, что было возвращено функцией, чтобы ее можно было передать в AngularJS. - person Avalanche   schedule 01.07.2015print_r
будет выводить теги ‹pre›, которые, как я полагаю, не будут действительными JSON в этот момент - person Ronnie   schedule 01.07.2015