gpt4 book ai didi

javascript - 将数组发送到 PHP Web 服务并从 MySQL 数据库返回数组

转载 作者:行者123 更新时间:2023-11-29 18:47:09 25 4
gpt4 key购买 nike

我正在 AngularJS 中开发一个应用程序,并使用 MySQL 作为后端数据库。 Web 服务采用 PHP 5.6.30。

我想知道从表 User 中检索的最佳方式是什么?我的 MySQL 数据库的每个用户名的信息列表通过 itemsArray 发送到 Web 服务数组:

  • itemsArray数组与用户名列表一起发送;
  • returnedArray数组是从 Web 服务返回的,其中包含信息列表。对于每个用户名,都会返回 idUser、用户名和密码并显示在 HTML 页面中。
<小时/>

User的结构MySQL 数据库中的表:

  • idUser(整数)
  • 用户名(varchar)
  • 密码(varchar)

数据结构示例 itemsArray发送到 Web 服务的(数组):

var itemsArray = ["admin1", "admin2", "admin3", "admin4", "admin5"];

用于显示 Web 服务返回的数据的 HTML 示例:

<ul><li ng-repeat="item in returnedArray track by $index">{{ item }}</li></ul>

Controller 示例:

angular.module('myApp').controller('Ctrl1', ['$scope', 'services', Ctrl1]);

function Ctrl1($scope, services) {
var itemsArray = ["admin1", "admin2", "admin3", "admin4", "admin5"];
//request to MySQL BD
services.getInfo(itemsArray).then(function(data){
$scope.returnedArray = data.data;
});
}

app.js 的示例向 Web 服务发送请求:

.factory('services', ['$http', function($http){
var serviceBase = 'services/';
var obj = {};
obj.getInfo = function (arrayItems) {
return $http.get(serviceBase + 'get_info?arrayItems=' + arrayItems);
};
// return obj
return obj;
}]);

PHP 中的 Web 服务示例:(必须填写)

// GET - Get Info
private function get_info(){
if($this->get_request_method() != "GET"){
$this->response('', 406);
}
$arrayItems = (array)$this->_request['arrayItems'];
$query = "TO COMPLETE";
$r = $this->mysqli->query($query) or die($this->mysqli->error.__LINE__);
if($r->num_rows > 0){
$result = array();
while($row = $r->fetch_assoc()){
$result[] = $row;
}
$this->response($this->json($result), 200); // send user details
}
$this->response('', 204); // send user detail
}

谢谢*

最佳答案

您不应该只需要:

$this->response(json_encode($result), 200);

而不是:

$this->response($this->json($result), 200);

关于javascript - 将数组发送到 PHP Web 服务并从 MySQL 数据库返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44544741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com