multiple insert data pada php dengan ajax

Permisi.. ini kelanjutan dari pertanayaan saya sebelumnya...

jadi gini, saya punya tampilan seperti ini..

![](https://skspace.sgp1.digitaloceanspaces.com/forums/images/ss nilai db.JPG)

pada baris pertama datanya sudah berhasil masuk, cuma ketika saya insert lagi dengan baris yang lain, data yg masuk ke databasenya adalah data yang pertama tadi berhasil masuk, ini screenshootnya :

![](https://skspace.sgp1.digitaloceanspaces.com/forums/images/ss db nilai 2.JPG)

gimana caranya agar datanya itu masuk ke data base + supaya data yg udah masuk itu ga tampil lagi di table tsb ?

ini kodenya...

// Skrip javascriptnya

<script type="text/javascript">
  $(document).ready(function() {
    $(".btn-act").on("click", function() {

      //Mengambil nilai dari form nilai
      var p_angka = $("#p_angka").val();
      var p_predikat = $("#p_predikat").val();
      var k_angka = $("#k_angka").val();
      var k_predikat = $("#k_predikat").val();

      //Mengambil data pengenal
      var id_siswa = $("#id_siswa").val();

      $.ajax({
        method : "POST",
        url    : "aksi.php",
        cache  : false,
        data   : {
          p_agk : p_angka,
          p_pre : p_predikat,
          k_agk : k_angka,
          k_pre : k_predikat,
          s_id  : id_siswa
        },
        success : function(data){
          if (data == "true") {
            $("#xx_"+id_siswa).fadeOut();
          }
        }
      });

    });
  });
</script>

ini skrip form htmlnya..


  <table class="table table-bordered" id="list-data">
    <thead>
      <tr>
        <th rowspan="2" class="ctr">No.</th>
        <th rowspan="2" class="ctr">Nama Siswa</th>
        <th colspan="2" class="ctr">Pengetahuan</th>
        <th colspan="2" class="ctr">Keterampilan</th>
        <th rowspan="2" class="ctr">Aksi</th>
      </tr>
      <tr>
        <th class="ctr">Angka</th>
        <th class="ctr">Predikat</th>
        <th class="ctr">Angka</th>
        <th class="ctr">Predikat</th>
      </tr>
    </thead>
    <tbody>

    <?php while ($sis = mysqli_fetch_object($tampilsiswa)) : ?>

      <tr id="xx_<?= $sis->id; ?>">
        <td class="ctr"><?= $no++; ?></td>
        <td><?= $sis->nama; ?></td>
        <td class="ctr">
          <?php
            //echo open_form('', 'post', "class='form-group'");
            echo input('number', 'p_angka', "class='form-control' style='width:70px !important;' id='p_angka' ");
            echo input('hidden', 'id_siswa', "value='$sis->id' id='id_siswa'");
            echo input('hidden', 'id_mapel', "value='$mapel_id' id='id_mapel'");
            echo input('hidden', 'id_guru', "value='$guru_id' id='id_guru'");
            echo input('hidden', 'id_sms', "value='$sms' id='id_sms'");
          ?>
        </td>
        <td class="ctr">
          <?php
            echo select_open('p_predikat', "class='form-control' id='p_predikat'");
            echo option('', '', '');
            echo option('A', '', 'A');
            echo option('B', '', 'B');
            echo option('C', '', 'C');
            echo option('D', '', 'D');
            echo select_close();
          ?>
        </td>
        <td class="ctr">
          <?php
            echo input('number', 'k_angka', "class='form-control'  style='width:70px !important;' id='k_angka'");
          ?>
        </td>
        <td class="ctr">
          <?php
            echo select_open('k_predikat', "class='form-control' id='k_predikat'");
            echo option('', '', '');
            echo option('A', '', 'A');
            echo option('B', '', 'B');
            echo option('C', '', 'C');
            echo option('D', '', 'D');
            echo select_close();
          ?>
        </td>
        <td class="ctr" id="act">
          <button type="submit" name="submit" data-id="<?= $sis->id; ?>" class="btn btn-default btn-act" id="submit-<?= $sis->id; ?>">
            <span class="glyphicon glyphicon-floppy-disk"></span>
          </button>
          <?php //echo close_form(); ?>
        </td>
      </tr>

    <?php endwhile; ?>

    </tbody>
  </table>

dan ini skrip aksi.phpnya


<?php
include_once '../function/core.php';

$mapel_id   = @$_SESSION['mapel_id'];
$guru_id    = @$_SESSION['guru']['id'];
$type_nilai = @$_SESSION['type_nilai'];
$semester   = @$_SESSION['semester'];

$p_angka    = $_POST['p_agk'];
$p_predikat = $_POST['p_pre'];
$k_angka    = $_POST['k_agk'];
$k_predikat = $_POST['k_pre'];

//Id siswa
$id_siswa        = $_POST['s_id'];

//Id guru

$insert = insert('tbl_nilai', 'id, id_siswa, id_guru, id_mapel, semester, tipe_nilai, p_angka, p_predikat, k_angka, k_predikat', "NULL, '$id_siswa', '$guru_id', '$mapel_id', '$semester', '$type_nilai', '$p_angka', '$p_predikat', '$k_angka', '$k_predikat'");

if ($insert === TRUE) {
  echo "true";
} else {
  echo "false";
}

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Diperbarui 6 tahun yang lalu

13 Jawaban:

Halo gan.. saya belum nyoba kodenya. tapi dari analisa saya, kemungkinan data yang masuk sama karena agan ngambilnya data dari input menggunakan id,, jika ada input dengan 2 id yg sama, data yang dibaca adalah input yang pertama.

Semoga membantu

avatar diazpace
@diazpace

58 Kontribusi 28 Poin

Dipost 8 tahun yang lalu

melanjutkan @diazpace jadi semua yang id diganti jadi class

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 8 tahun yang lalu

wahh iya gan bener, trus buat ngebedainnya gimana gan ?

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 8 tahun yang lalu

@hilmanrdn : class dengan nama yg sama ? atau seperti apa ?

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 8 tahun yang lalu

Pada bagian mengambil form nilai yang dikasih komentar, itu ngambil niali ny pake selektor id (#namaid), diganti ke (.namaclass)

avatar diazpace
@diazpace

58 Kontribusi 28 Poin

Dipost 8 tahun yang lalu

@diazpace : dengan nama class yang sama apa gimana gan ?

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 8 tahun yang lalu

kaya gini gan ?


<table class="table table-bordered" id="list-data">
    <thead>
      <tr>
        <th rowspan="2" class="ctr">No.</th>
        <th rowspan="2" class="ctr">Nama Siswa</th>
        <th colspan="2" class="ctr">Pengetahuan</th>
        <th colspan="2" class="ctr">Keterampilan</th>
        <th rowspan="2" class="ctr">Aksi</th>
      </tr>
      <tr>
        <th class="ctr">Angka</th>
        <th class="ctr">Predikat</th>
        <th class="ctr">Angka</th>
        <th class="ctr">Predikat</th>
      </tr>
    </thead>
    <tbody>

    <?php while ($sis = mysqli_fetch_object($tampilsiswa)) : ?>

      <tr id="xx_<?= $sis->id; ?>">
        <td class="ctr"><?= $no++; ?></td>
        <td><?= $sis->nama; ?></td>
        <td class="ctr">
          <?php
            //echo open_form('', 'post', "class='form-group'");
            echo input('number', 'p_angka', "class='form-control' style='width:70px !important;' class='p_angka' ");
            echo input('hidden', 'id_siswa', "value='$sis->id' id='id_siswa'");
            echo input('hidden', 'id_mapel', "value='$mapel_id' id='id_mapel'");
            echo input('hidden', 'id_guru', "value='$guru_id' id='id_guru'");
            echo input('hidden', 'id_sms', "value='$sms' id='id_sms'");
          ?>
        </td>
        <td class="ctr">
          <?php
            echo select_open('p_predikat', "class='form-control' class='p_predikat'");
            echo option('', '', '');
            echo option('A', '', 'A');
            echo option('B', '', 'B');
            echo option('C', '', 'C');
            echo option('D', '', 'D');
            echo select_close();
          ?>
        </td>
        <td class="ctr">
          <?php
            echo input('number', 'k_angka', "class='form-control'  style='width:70px !important;' class='k_angka'");
          ?>
        </td>
        <td class="ctr">
          <?php
            echo select_open('k_predikat', "class='form-control' class='k_predikat'");
            echo option('', '', '');
            echo option('A', '', 'A');
            echo option('B', '', 'B');
            echo option('C', '', 'C');
            echo option('D', '', 'D');
            echo select_close();
          ?>
        </td>
        <td class="ctr" id="act">
          <button type="submit" name="submit" data-id="<?= $sis->id; ?>" class="btn btn-default btn-act" id="submit-<?= $sis->id; ?>">
            <span class="glyphicon glyphicon-floppy-disk"></span>
          </button>
          <?php //echo close_form(); ?>
        </td>
      </tr>

    <?php endwhile; ?>

    </tbody>
  </table>

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 8 tahun yang lalu

skrip javascriptnya kaya gini gan ?


<script type="text/javascript">
  $(document).ready(function() {
    $(".btn-act").on("click", function() {

      //Mengambil nilai dari form nilai
      var p_angka = $(".p_angka").val();
      var p_predikat = $(".p_predikat").val();
      var k_angka = $(".k_angka").val();
      var k_predikat = $(".k_predikat").val();

      //Mengambil data pengenal
      var id_siswa = $("#id_siswa").val();

      $.ajax({
        method : "POST",
        url    : "aksi.php",
        cache  : false,
        data   : {
          p_agk : p_angka,
          p_pre : p_predikat,
          k_agk : k_angka,
          k_pre : k_predikat,
          s_id  : id_siswa
        },
        success : function(data){
          if (data == "true") {
            $("#xx_"+id_siswa).fadeOut();
          }
        }
      });

    });
  });
</script>

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 8 tahun yang lalu

tetep aja mas,, udah ganti jadi class, data yg masuk tetep sama :(

![](https://skspace.sgp1.digitaloceanspaces.com/forums/images/ss nilai tetep.JPG)

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 8 tahun yang lalu

Jawaban Terpilih

cara ngambil di javascriptnya, bukan $(".p_angka").val(); hasilnya memang sama, dia tetap ngambil yang pertama. Kalo di javascript mau detail itemnya bisa tulis nomer index setelahnya di $(".p_angka")[nomer_index].val() Kalau mau dibikin otomatis, tergantung yang diklik bisa pake $(this). Coba cari referensi bagaimana $(this) bekerja, atau lihat kelas ajax di sekolahkoding https://sekolahkoding.com/kelas/tag/ajax

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 8 tahun yang lalu

kalo pake $(this) gimana mas hilman ? saya udah nonton kelas ajax dengan javascript dan jquery masih bingung..

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 8 tahun yang lalu

udah solve mas hilman... makasih banyak :D

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 8 tahun yang lalu

mw tanya, melanjutkan topik yang diatas, kalo data yg mw disimpan dipilih pakai checkbox gmn ya mas.., untuk codingan saya sudah buat kurang lebih sama seperti diatas, tapi saat kirim datanya data form datanya seperti ini

avatar Desirena
@Desirena

1 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban