Skip to main content

 <!DOCTYPE html>

<html>
<head>
 <title>CRUD Firebase</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

 <!-- Bootstrap CSS -->
 <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" >
 <link rel="stylesheet" type="text/css" href="css/style.css">
 <script src="https://www.gstatic.com/firebasejs/5.4.2/firebase.js"></script>
 <script type="text/javascript">

  var config = {
   apiKey: "AIzaSyA71hPWUdEqgymNFTHg462yFJ_bWDAkHcA",
   authDomain: "exam-aff8f.firebaseapp.com",
   databaseURL: "https://exam-aff8f.firebaseio.com",
   projectId: "exam-aff8f",
   storageBucket: "",
   messagingSenderId: "133123398372"
  };

  firebase.initializeApp(config); 

 </script>
</head>
<body>
 <h1>Firebase JS CRUD</h1>
 <button class="btn btn-primary btnTambahData" data-toggle="modal" onclick="cleardata()" data-target="#exampleModal">Tambah Data</button>
 <table class="table table-striped" id="tbl_list_user">
  <thead>
   <tr>
    <th scope="col">No.</th>
    <th scope="col">Nama</th>
    <th scope="col">Email</th>
    <th scope="col">Alamat</th>
    <th scope="col">Aksi</th>
   </tr>
  </thead>
 </table>


 <!-- Modal -->
 <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
   <div class="modal-content">
    <div class="modal-header">
     <h5 class="modal-title" id="exampleModalLabel"></h5>
     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
      <span aria-hidden="true">&times;</span>
     </button>
    </div>
    <form action="" method="POST" enctype="multipart/form-data">
     <div class="modal-body">     
      <input type="hidden" name="id" id="id">
      <div class="form-group">
       <label for="nama">Nama</label>
       <input type="text" name="nama" id="nama" class="form-control" placeholder="Masukkan nama" required="true">
      </div>
      <div class="form-group">
       <label for="email">Email</label>
       <input type="email" name="email" id="email" class="form-control" placeholder="Masukkan email" required="true">
      </div>
      <div class="form-group">
       <label for="alamat">Alamat</label>
       <input type="text" name="alamat" id="alamat" class="form-control" placeholder="Masukkan alamat" required="true">
      </div>
     </div>

     <div class="modal-footer">
      <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
      <button type="button" class="btn btn-primary" onclick="tambahData()" data-dismiss="modal">Simpan</button>
     </div>
    </form>
   </div>
  </div>
 </div>

 <!-- <script src="js/jquery.js"></script>     -->

 <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
 <script src="js/jquery.easing.1.3.js"></script>
 <script src="js/bootstrap.min.js"></script>
 <script src="js/hm.js"></script>

 <script type="text/javascript">
  var database = firebase.database();
  var key = 0;

  database.ref("users").orderByKey().limitToLast(1).on('child_added',function(data) {
   key = parseInt(data.key, 10);
   key = key + 1;
  });

  database.ref('users').on('value', function(snapshot) {
   var count = 0;
   if(snapshot.exists()){
    $("#tbl_list_user tbody").remove(); 
    var content = '<tbody>';
    snapshot.forEach(function(data) {
     count+=1;
     var val = data.val();
                 content +='<tr>';
                 content += '<td>' + count + '</td>';
                 content += '<td>' + val.username + '</td>';
                 content += '<td>' + val.email + '</td>';
                 content += '<td>' + val.address + '</td>';
                 content += '<td> <button class="btn btn-danger" onclick="hapusData(' + data.key + ')"> Hapus Data </button> <button class="btn btn-primary tampilModalUbah" onclick="setData('+ data.key +')" data-toggle="modal" data-target="#exampleModal">Edit Data</button>  </td>';
                 content +='</tr>';
                 key = 0;
     key = parseInt(data.key, 10);
     key = key + 1;
    });

    content += '</tbody>';
    $('#tbl_list_user').append(content);
   }else{
    $("#tbl_list_user tbody").remove(); 
   }  
  });


  function tambahData(){
   if($('#exampleModalLabel').text() == "Tambah Data Baru"){
    if(key == 0){
     key = 1;
    }

    database.ref('users/' + key).set({
     username: $('#nama').val(),
     email   : $('#email').val(),
     address : $('#alamat').val()
    });

    alert("Data Berhasil ditambah");
   }else if($('#exampleModalLabel').text() == "Ubah Data"){
    database.ref('users/' + $('#id').val()).update({
     username: $('#nama').val(),
     email   : $('#email').val(),
     address : $('#alamat').val()
    });
    alert("Data Berhasil diupdate");
   }
  } 


  function cleardata(){
   $('#id').val("");
   $('#nama').val("");
   $('#email').val("");
   $('#alamat').val("");
  }


  function setData(id){
   $('#exampleModalLabel').html('Ubah Data');   
   database.ref('users/').child(id).once('value').then( function(snap) {
       const user = snap.val()
       $('#id').val(id);
    $('#nama').val(user.username);
    $('#email').val(user.email);
    $('#alamat').val(user.address);
   });
  }


  function hapusData(id){
   var answer = confirm("Hapus Data..?");
   if (answer) {
       database.ref('users/' + id).remove();
       alert("Data Berhasil dihapus");
   }
  } 

$('.btnTambahData').on('click', function(){
        $('#exampleModalLabel').html('Tambah Data Baru');
    });

 </script>
</body>
</html>

Comments

Popular posts from this blog

Makna Berkhitbah

Al-Khitbah dengan dikasrah ‘kho”nya berarti pendahuluan “ikatan pernikahan” yang maknanya permintaan seorang laki-laki pada wanita untuk dinikahi. Dan hal ini pada umumnya ada pada laki-laki. Maka yang memulai disebut “khoothoban” (yang meminang) sedang yang lain disebut “makhthuuban” (yang dipinang). Meminang itu sunnah sebelum akad nikah, karena Nabi Muhammad shalallahu ‘alaihi wa sallam meminang untuk dirinya dan untuk yang lain. Dan tujuan meminang yaitu : mengetahui pendapat yang dipinang, apakah ada setuju atau tidak. Untuk lebih jelasnya tentang khitbah dapat melihat ke sumbernya KLIK DISINI Khitbahku untuk kamu...... Klik show untuk melihat tqzj7jXAeFhiYHTMDp/iU0bR7ey2OiD6JMItC0yllJVsI7AJwWPy1lUSbQELsQSb0FFXv9EvJnnv iP8cHeKVbUmOAhnwkzd882VAk0WSPJdAIPbX59oRtRFlPCcynmJD33zr5EPY5EEFAywqYwL8ocoW 3CZVIZS9Z03e70owKzx8v0xlJ7BkNaTQqKx7GFMc94IFeirv1UAe8BtVG6kNal/mQRAnHOM+4A9k b8iOVBltYF4f5dDHB8SFyx/I5u9cAa27Nhw1k+lIEVkNOXk0+we/QaF6U9xEyc9bD84ymw6MhNUv IDG+qWvXqzwn...

contoh penggunaan radio button pada blue j

Berikut ini merupakan contoh kodingan penggunaan radio button pada bluej import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; class Tugas1 extends JFrame{ // attribut JButton tombol1 = new JButton("OK"); JButton tombol2 = new JButton("Cancel"); JLabel label1 = new JLabel("nama"); JLabel label2 = new JLabel("jenis kelamin"); JLabel label3 = new JLabel("alamat"); JTextField teks1 = new JTextField(""); JTextField teks2 = new JTextField(""); JRadioButton cb1 = new JRadioButton("Laki-laki"); JRadioButton cb2 = new JRadioButton("Perempuan"); ButtonGroup group = new ButtonGroup(); String jk; //konstruktor public Tugas1(){ //frame seting——————————————————————— //memanggil konstruktor kelas induk (JFrame) super(); //seting besar frame 400 x 400 px this.setSize(500,500); //seting agar bisa ditutup this.setDefaultCloseOperation(EXIT_ON_CLOS...

Perjalanan ke Gunung Rakutak

Saat itu sore yang sangat menjenuhkan, saya mengajak bung Bek untuk pergi jalan-jalan, dan bung Bek menyetujuinya. awalnya kami berdua akan pergi menuju Gunung Salak (Bogor), akan tetapi saat bung Lee datang dia mengarahkan kami ke Gunung cikuray (Garut) dan saya berpikir perjalanan ke cikuray membutuhkan waktu yang lumayan lama dan saya berpikir kenapa kita tidak pergi saja ke gunung rakutak (Bandung). Dan setelah pencarian kesepakatan yang panjang, kami akhirnya bersepakat menuju ke Gunung Rakutak. Waktu menunjukan pukul 23.00WIB lalu kami bersiap-siap berangkat menuju Bandung, dan tepat kira-kira pukul 00.10WIB kami berangkat.   Dengan menggunakan motor kami bertiga berangkat menuju Bandung. Dengan berbekal gps dari android milik bung Bek dan informasi yang kami cari sebelum berangkat dari google.  Rute: Pondok Gede - Bogor -Bandung  Akhirnya pun kami sampai di kota Bandung lalu kami mencari arah tujuan kami yaitu Gunung Rakutak . Setelah perjalanan ...