drm30963 2016-02-06 16:22
浏览 157
已采纳

我已完成AngularJS代码但数据未显示

Please help me to find my problem on my coding, I have done all the AngularJS code and html and php for the json encoding but I cannot fetch the data in my database... Here is my current code

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>

Here is the angular code

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;
          });  
        };

        };
    });

Here is the php

$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);
  • 写回答

2条回答 默认 最新

  • dshkmamau65777662 2016-02-06 18:04
    关注

    The problem is that your dapatkanData function is defined inside of the tambahData function. Just move it to the outside like this and it should work:

    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
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记