2016-10-10 52 views
1

无法从PHP文件中获取数据。

PHP

require 'dbconnect.php'; 

$array_data = array(); 
$query = "SELECT * FROM user"; 

$stmt = $conn->prepare($query); 
$stmt->execute($array_data); 
$result_data = $stmt->fetchAll(PDO::FETCH_ASSOC); 

if(!empty($result_data)) {  

    header('Content-type: application/json'); 
    $json = json_encode($result_data); 
    // echo $json; 
    echo preg_replace("/null/", '""', $json); // replace null to "" 

} 

controller.js

.controller('tableCtrl', function($filter, $sce, ngTableParams, tableService) { 

     var data = tableService.data 
    //Editable 
     this.tableEdit = new ngTableParams({ 
      page: 1,   // show first page 
      count: 10   // count per page 
     }, { 
      total:data.length, // length of data 
      getData: function($defer, params) { 
       $defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count())); 
      } 
     }); 
    }) 

的script.js

.service('tableService', ['$http', function($http){ 

     this.data = $http.get("data/timesheet.json") 

    }]) 

HTML

<table ng-table="tctrl.tableEdit" class="table table-striped table-vmiddle"> 
     <tr ng-repeat="w in $data" ng-class="{ 'active': w.$edit }"> 
      <td data-title="'ID'"> 
      <span ng-if="!w.$edit">{{ w.id }}</span> 
      <div ng-if="w.$edit"><input class="form-control" type="text" ng-model="w.id" /></div> 
      </td> 
      ... 
     </tr>       
    </table> 

当我把json数据放入service.js中,如this.data = [{..}]它正在工作,但现在我只是试图从php文件中提取数据,这是不工作的,并获得空白表。任何人都可以帮助我解决这里缺少的东西吗?我对AngularJS非常陌生。

+0

“试图从php中提取数据” - 不,你正在从某些json提取数据 – k102

+0

你能告诉我们数据是如何从php文件返回的。我会建议这不是一个角度问题。 – defaultcheckbox

+0

@defaultcheckbox对不起,但我没有得到你的问题。我已经添加了我的php代码。是的,我已经试过json文件,其中包含静态json数据,但也有相同的问题 – DD77

回答

0

尝试......

.service('tableService', ['$http', function($http){ 
    this.data = $http.get("yourphpfile.php"); 
}]) 

然后

.controller('tableCtrl', function ($filter, $sce, ngTableParams, tableService) { 
    this.tableEdit = {}; 
    tableService.data.then(initNgTable); 

    function initNgTable(data) { 
     this.tableEdit = new ngTableParams({ 
       page : 1, // show first page 
       count : 10 // count per page 
      }, { 
       total : data.length, // length of data 
       getData : function ($defer, params) { 
        $defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count())); 
       } 
      }); 
    } 
}) 

希望这将帮助你!

+0

它不起作用 – DD77

+0

你调试了吗?你在哪看到这个问题? –

+0

User7 ..你能告诉我们json的格式吗?或者可能用虚拟json做一个笨蛋。我认为我们没有足够的信息来弄清楚什么是错的。 – defaultcheckbox