Php 角度,在间隔上运行函数,超时

Php 角度,在间隔上运行函数,超时,php,angularjs,Php,Angularjs,我已经编写了以下控制器,它从我的数据库获取信息并显示在我的应用程序中: 控制器: .controller('activityCtrl', function($scope, $http, $interval) { $http.get("user.php") .then(function (response) {$scope.names = response.data.records;}); }) user.php <?php //DB stuff goes here $ou

我已经编写了以下控制器,它从我的数据库获取信息并显示在我的应用程序中:

控制器:

.controller('activityCtrl', function($scope, $http, $interval) {
    $http.get("user.php")
    .then(function (response) {$scope.names = response.data.records;});
})
user.php

<?php
//DB stuff goes here
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
    if ($outp != "") {$outp .= ",";}
    $outp .= '{"Regid":"'  . $rs["Regid"] . '",';
    $outp .= '"Fname":"'   . $rs["fname"]        . '",';
    $outp .= '"Lname":"'   . $rs["lname"]        . '",';
    $outp .= '"activity":"'   . $rs["activity"]        . '",';
    $outp .= '"ID":"'. $rs["id"]     . '"}'; 
}
$outp ='{"records":['.$outp.']}';
$conn->close();
//echo($outp);
?>
目前,我正在运行console.log进行测试,一切正常。我有我的旧代码行注释掉;这是我需要重写的行,以便根据需要显示数据。非常感谢您的帮助


间隔时间已经开始工作了;我不知道如何重写.success函数,因此它会显示$http的结果。

很抱歉,您的问题对我来说很不清楚,就像您试图实现的一样


如果您想在某个时间段后重复运行代码,则可以使用$interval服务。你能更清楚地知道你想要实现什么,问题在哪里吗

使用
$interval
而不是
$timeout

    $interval(function(){
        $scope.getData();
    }, 1000);

请参阅更多信息:

虽然技术上没有答案,但您在user.php中做什么? 我认为您正在尝试创建JSON字符串,但我怀疑您的方法

<?php
  while($row = $result->fetch_array(MYSQLI_ASSOC)) {
    $data[] = $row; // or just use a fetch_all?
  }

  echo json_encode($data);
?>

我用$scope和setInterval解决了这个问题。以下是新控制器,以防任何人需要参考:

.controller('activityCtrl', function($scope, $http) {
    $scope.value = 0;
    setInterval(function(){
   $http.get("user.php")
   .then(function (response) {$scope.names = response.data.records;});
    }, 1000);
});

我编辑了这篇文章-我需要更新我的一行代码,这样它就可以在新代码上与其他代码一起工作了间隔已经开始工作了;我不知道如何重写.success函数,以便它显示来自$http的结果。我认为相同的success函数应该可以工作。如果要将新结果附加到旧结果,请在标记中使用
.push()
ng repeat
。它不起作用,这就是我发布问题的原因。如果我注释.success并取消注释.那么整个脚本将停止工作它应该是
然后
而不是
success
,这不会解决问题不要尝试手动创建json。。。这非常耗时且容易出错,只需使用
json\u encode($array)
is
success
firming?您是否看到“获取数据”消息?确实不清楚具体问题是什么是的,console.log正在根据需要报告。那么具体问题是什么?@charlietfl-如果我注释.success并取消注释,那么整个脚本将停止工作。我需要重新布线.success,这样它会像这样显示数据。然后这正是我所做的
.controller('activityCtrl', function($scope, $http) {
    $scope.value = 0;
    setInterval(function(){
   $http.get("user.php")
   .then(function (response) {$scope.names = response.data.records;});
    }, 1000);
});