我不会说英语,所以我提前为我的拼写错误道歉
我正在使用角度js开发的网站上创建用户管理页面,但这是我第一次使用它而我无法找出错误
当我点击index.html页面上的列表发送回amministrazione2.html页面时,“应该”启动脚本以从数据库中获取数据并将其插入表中,但视频显示
<tbody> <!-- ngRepeat: prezzo in prezzi --> <t/ body>
而不是我的数据
这是index.html,左边有一个列表,evry项目重定向到.html页面
<!DOCTYPE html>
<html ng-app="sin...">
<head></head>
<body>
<div class="left_col scroll-view">
<div ng-include="'includes/header.html'"></div>
</div>
</div>
<div ng-include="'includes/footer.html'"></div>
</div>
<script src="//code.angularjs.org/1.5.7/angular.js"></script>
<script src="//code.angularjs.org/1.5.7/angular-route.js"></script>
<script src="//code.angularjs.org/1.5.7/angular-cookies.js"></script>
<script src="//code.angularjs.org/1.5.7/angular-messages.js"></script>
<script src="js/app.js"></script>
<script src="modules/amministrazione2/controllers.js"></script>
</body>
</html>
这是左侧列表中有元素的标题
<div id="sidebar-menu" class="main_menu_side hidden-print main_menu">
<div class="menu_section">
<li>
<a href="#/amministrazione2">
<i class="fa fa-cog infospan"></i> Amministrazione2 <span class="fa fa-chevron-right"></span></a>
</li>
</div>
</div>
这是文件app.js,其中有角度模块的声明
'use strict';
// declare modules
angular.module('Ammi', []);
angular.module('Amministrazione', []);
angular.module('Authentication', []);
angular.module('Home', []);
angular.module('Fornitore', []);
angular.module('Cantiere', []);
angular.module('Prezziario', []);
angular.module('Calendar', []);
angular.module('Computo', []);
angular.module('Forniture', []);
angular.module('Listino', []);
angular.module('Sal', []);
angular.module('sin...', [
'Amministrazione',
'Ammi',
'Authentication',
'Home',
'Fornitore',
'Cantiere',
'Prezziario',
'Calendar',
'Computo',
'Forniture',
'Listino',
'Sal',
'ngRoute',
'ngCookies',
'ngMessages',
'smart-table'
])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/amministrazione2', {
controller: 'AmmiController',
templateUrl: 'modules/amministrazione2/views/amministrazione2.html',
hideMenus: true
})
.when('/', {
controller: 'HomeController',
templateUrl: 'modules/home/views/home.html'
})
.otherwise({ redirectTo: '/login' });
}])
这是我的php文件,用于搜索db
上的用户信息<?php
require_once '../includes/dbconnector.php';
$sql = "SELECT a.id_utente, a.id_ruolo, a.nome, a.cognome, a.comune, a.indirizzo, a.cap, a.telefono1, a.telefono2, a.email, a.fax, a.note, a.user, a.password, a.calendario FROM `sal_t_utente` a ORDER BY a.id_utente";
// use prepared statements, even if not strictly required is good practice
$stmt = $conn->prepare( $sql );
// execute the query
$stmt->execute();
// fetch the results into an array
$result = $stmt->fetchAll( PDO::FETCH_ASSOC );
$json = json_encode($result);
return $json;
}
?>
这是我创建的角度控制器,用于插入和修改表格中的数据
'use strict';
angular.module('Ammi').controller('AmmiController',
['$scope', '$rootScope', '$location','$http',
function ($scope, $rootScope, $location, $http) {
$scope.selectedPrezzo = '';
$scope.getPrezzi = function()
{
$http.get('./api/amministrazione2/ricerca.php').
success(function(data) {
$scope.prezzi = data;
$scope.prezziCollection= data;
});
};
$scope.editPrezzo = function(prezzo)
{
$scope.selectedPrezzo = prezzo;
};
$scope.salvaPrezzo = function(prezzo)
{
$http.post('./api/amministrazione2/aggiorna.php', {
'id_utente' : prezzo.id_utente,
'id_ruolo' : prezzo.id_ruolo,
'nome' : prezzo.nome,
'cognome' : prezzo.cognome,
'comune' : prezzo.comune,
'indirizzo' : prezzo.indirizzo,
'cap' : prezzo.cap,
'telefono1' : prezzo.telefono1,
'telefono2' : prezzo.telefono2,
'email' : prezzo.email,
'fax' : prezzo.fax,
'note' : prezzo.note,
'user' : prezzo.user,
'password' : prezzo.password,
'calendario' : prezzo.calendario
}
).success(function (data, status, headers, config) {
$scope.resetPrezzo();
});
};
$scope.resetPrezzo = function()
{
$scope.getPrezzi();
$scope.selectedPrezzo = '';
};
$scope.go = function ( path ) {
$location.path( path );
};
}]);
这是显示用户信息的amministrazioni2.html
<div ng-controller="getPrezzi" >
<table st-table="prezzi" st-safe-src="prezziCollection" class="bootstrap-table table table-hover table-striped table-bordered tableBlueTh">
<thead>
<th>Id Utente</th>
<th>Id Ruolo</th>
<th>Nome</th>
<th>Cognome</th>
<th >Comune</th>
<th>Indirizzo</th>
<th>Cap</th>
<th >Telefono 1</th>
<th>Telefono 2</th>
<th >Email</th>
<th>Fax</th>
<th>Note</th>
<th>User</th>
<th>Password</th>
<th>Calendario</th>
<th></th>
</thead>
<tbody>
<tr ng-repeat="prezzo in prezzi">
<td>{{prezzo.id_utente}}</td>
<td>{{prezzo.id_ruolo}}</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.nome}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="textbox" class="form-control" ng-model="prezzo.nome" value="{{prezzo.nome}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.cognome}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="textbox" class="form-control" ng-model="prezzo.cognome" value="{{prezzo.cognome}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.comune}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="textbox" class="form-control" ng-model="prezzo.comune" value="{{prezzo.comune}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.indirizzo}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="textbox" class="form-control" ng-model="prezzo.indirizzo" value="{{prezzo.indirizzo}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.cap}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="textbox" class="form-control" ng-model="prezzo.cap" value="{{prezzo.cap}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.telefono1}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="tel" class="form-control" ng-model="prezzo.telefono1" value="{{prezzo.telefono1}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.telefono2}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="tel" class="form-control" ng-model="prezzo.telefono2" value="{{prezzo.telefono2}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.email}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="textbox" class="form-control" ng-model="prezzo.email" value="{{prezzo.email}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.fax}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="tel" class="form-control" ng-model="prezzo.fax" value="{{prezzo.fax}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.note}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="textbox" class="form-control" ng-model="prezzo.note" value="{{prezzo.note}}"></div>
</td>
<td>{{prezzo.user}}</td>
<td>{{prezzo.password}}</td>
<td>{{prezzo.calendario}}</td>
<td>
<div ng-if="selectedPrezzo != prezzo">
<button ng-click="editPrezzo(prezzo)" class="btn btn-primary">Modifica</button>
</div>
<div ng-if="selectedPrezzo == prezzo">
<button ng-click="salvaPrezzo(prezzo)" class="btn btn-primary">Salva</button>
<button ng-click="resetPrezzo()" class="btn btn-danger">Annulla</button>
</div>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="16" class="text-center">
<div st-pagination="" st-items-by-page="itemsByPage" st-displayed-pages="7"></div>
</td>
</tr>
</tfoot>
</table>
</div>
最后这是我在网站上看到的
<div ng-view="" class="ng-scope">
<div ng-controller="getPrezzi" class="ng-scope">
</div><table st-table="prezzi" st-safe-src="prezziCollection" class="bootstrap-table table table-hover table-striped table-bordered tableBlueTh ng-scope">
<thead>
<tr><th>Id Utente</th>
<th>Id Ruolo</th>
<th>Nome</th>
<th>Cognome</th>
<th>Comune</th>
<th>Indirizzo</th>
<th>Cap</th>
<th>Telefono 1</th>
<th>Telefono 2</th>
<th>Email</th>
<th>Fax</th>
<th>Note</th>
<th>User</th>
<th>Password</th>
<th>Calendario</th>
<th></th>
</tr></thead>
<tbody>
<!-- ngRepeat: prezzo in prezzi -->
</tbody>
<tfoot>
<tr>
<td colspan="16" class="text-center">
<div st-pagination="" st-items-by-page="itemsByPage" st-displayed-pages="7" class="ng-isolate-scope"><!-- ngIf: numPages && pages.length >= 2 --></div>
</td>
</tr>
</tfoot>
</table>
</div>
答案 0 :(得分:0)
我在下面添加了该网站的功能页面 我已经提到我的页面
modificaprezzario.html
<div ng-controller="getPrezzi" >
<table st-table="prezzi" st-safe-src="prezziCollection" class="bootstrap-table table table-hover table-striped table-bordered tableBlueTh">
<colgroup>
<col width="20%">
<col width="50%">
<col width="5%">
<col width="5%">
<col width="5%">
<col width="25%">
</colgroup>
<thead>
<tr>
<th colspan="6"><input st-search="" class="form-control" placeholder="Ricerca globale ..." type="text"/></th>
</tr>
<tr>
<th colspan="6" style="padding-bottom: 2em;background:#FFF"></th>
</tr>
<tr>
<th st-sort="tariffa" class="pointer" title=Tariffa">Tariffa</th>
<th st-sort="descrizione" class="pointer" title=Descrizione">Descrizione</th>
<th st-sort="descrizione" class="pointer">Unità di misura</th>
<th st-sort="prezzo" class="pointer">Prezzo Listino</th>
<th st-sort="prezzo_azie" class="pointer">Prezzo Aziendale</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="prezzo in prezzi">
<td>{{prezzo.tariffa}}</td>
<td>{{prezzo.descrizione}}</td>
<td>{{prezzo.unita_misura}}</td>
<td>{{prezzo.prezzo}}</td>
<td>
<div ng-if="selectedPrezzo != prezzo">{{prezzo.prezzo_azie}}</div>
<div ng-if="selectedPrezzo == prezzo"><input type="number" class="form-control" ng-model="prezzo.prezzo_azie" value="{{prezzo.prezzo_azie}}"></div>
</td>
<td>
<div ng-if="selectedPrezzo != prezzo">
<button ng-click="editPrezzo(prezzo)" class="btn btn-primary">Modifica</button>
</div>
<div ng-if="selectedPrezzo == prezzo">
<button ng-click="salvaPrezzo(prezzo)" class="btn btn-primary">Salva</button>
<button ng-click="resetPrezzo()" class="btn btn-danger">Annulla</button>
</div>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="6" class="text-center">
<div st-pagination="" st-items-by-page="itemsByPage" st-displayed-pages="7"></div>
</td>
</tr>
</tfoot>
</table>
</div>
controller.js
'use strict';
var myPrezziario = angular.module('Prezziario');
myPrezziario.controller('PrezziarioController',
['$scope', '$rootScope', '$location','$http',
function ($scope, $rootScope, $location, $http) {
$scope.selectedPrezzo = '';
$scope.getPrezzi = function()
{
$http.get('./api/prezzario/ricerca_prezzario.php').
success(function(data) {
$scope.prezzi = data;
$scope.prezziCollection= data;
});
};
$scope.editPrezzo = function(prezzo)
{
$scope.selectedPrezzo = prezzo;
};
$scope.salvaPrezzo = function(prezzo)
{
$http.post('./api/prezzario/aggiorna_prezzo.php', {
'id_prezzario' : prezzo.id_prezzario,
'prezzo_azie' : prezzo.prezzo_azie
}
).success(function (data, status, headers, config) {
$scope.resetPrezzo();
});
};
$scope.resetPrezzo = function()
{
$scope.getPrezzi();
$scope.selectedPrezzo = '';
};
$scope.go = function ( path ) {
$location.path( path );
};
}]);
ricerca_prezzario.php
<?php
require_once '../includes/dbconnector.php';
// a query get all the records from the users table
$sql = 'SELECT a.id_prezzario, a.tariffa, a.descrizione, a.unita_misura, a.prezzo, a.prezzo_azie FROM sal_d_prezziario a order by a.tariffa';
// use prepared statements, even if not strictly required is good practice
$stmt = $conn->prepare( $sql );
// execute the query
$stmt->execute();
// fetch the results into an array
$result = $stmt->fetchAll( PDO::FETCH_ASSOC );
// convert to json
$json = json_encode( $result );
// echo the json string
echo $json;
?>
aggiorna_prezzo.php
<?php
require_once '../includes/dbconnector.php';
$sql = "update sal_d_prezziario set prezzo_azie = :prezzo_azie where id_prezzario = :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':prezzo_azie', $data->prezzo_azie);
$stmt->bindParam(':id', $data->id_prezzario);
$stmt->execute();
?>