2016-02-06 2 views
1

Пожалуйста, помогите мне найти свою проблему в моем кодировании, я выполнил весь код AngularJS и html и php для кодировки json, но я не могу получить данные в моем базы данных ... Вот мой текущий кодУ меня есть код AngularJS, но данные не отображаются

Index.html

<body ng-app="myApp" ng-controller="KaryawanCtrl"> 

<form method="post"> 
    <input type="text" ng-model="karyawan.nama"> 
    <input type="text" ng-model="karyawan.alamat"> 
    <input type="submit" ng-click="tambahData()" value="simpan"> 
</form> 
<table ng-init="dapatkanData()"> 
    <thead> 
    <th>nama</th> 
    <th>alamat</th> 
    </thead> 
    <tr ng-repeat="item in dataKaryawan"> 
     <td>{{item.nama}}</td> 
     <td>{{item.alamat}}</td> 
    </tr> 
</table> 

Вот угловая код

JS/app.js

var app= angular.module("myApp",[]); 
    app.controller("KaryawanCtrl",function($scope,$http){ 
    //variabel awal 
    $scope.aksi="tambah"; 
    $scope.karyawan={}; 
    //angularjs untuk menyimpan data ke database 
    $scope.tambahData = function(){ 
     $http.post(
      'post.php', 
      { 
      data: $scope.karyawan 
      } 
     ).success(function(data){ 
      alert("data berhasil dimasukkan"); 
     }).error(function(){ 
      alert("Gagal menyimpan data"); 
     }); 

     //angularJS untuk menampilkan data ke tabel 
     $scope.dapatkanData = function(){ 
      $http.get('karyawan.php').success(function(data){ 
       $scope.dataKaryawan = data; 
      }); 
     }; 

     }; 
    }); 

Вот РНР

$koneksi = mysqli_connect("localhost","root","","belajar") or die("tidak bisa tersambung ke database"); 
$perintah_sql = "SELECT * FROM karyawan"; 

$data = []; 
$result = mysqli_query($koneksi,$perintah_sql); 

while($row= mysqli_fetch_array($result)){ 
    $temp_data = []; 
    $temp_data['nama']= $row['nama']; 
    $temp_data['alamat']=$row['alamat']; 
    array_push($data,$temp_data); 
} 

echo json_encode($data); 
+1

Можете ли вы рассказать нам, что такое ошибка, которую вы получаете? –

+0

Привет, как я уже упоминал в названии, мои данные не отображаются, когда я обращаюсь к index.html ... –

ответ

1

Проблема заключается в том, что ваша функция dapatkanData определена внутри функции tambahData. Просто переместите его на улицу, как это, и он должен работать:

var app= angular.module("myApp",[]); 

app.controller("KaryawanCtrl",function($scope,$http){ 
    //variabel awal 
    $scope.aksi="tambah"; 
    $scope.karyawan={}; 

    $scope.tambahData = function(){ 
     $http.post('post.php',{ data: $scope.karyawan }).success(function(data){ 
     alert("data berhasil dimasukkan"); 
     }).error(function(){ 
     alert("Gagal menyimpan data"); 
     }); 
    }; 

    $scope.dapatkanData = function(){ 
     $http.get('karyawan.php').success(function(data){ 
      $scope.dataKaryawan = data; 
     }); 
    }; 

    $scope.dapatkanData(); // Use this instead of ng-init. Remove that from the html 
}); 
+0

wow cool, это решение моей проблемы, спасибо @ DerekMT12 –

-1

Попробуйте связать свои данные, такие как

$scope.dataKaryawan = data.data; 

Или попытаться сделать

$scope.$apply() 

после retrive данных

Смежные вопросы