Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
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";
}
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
melanjutkan @diazpace jadi semua yang id diganti jadi class
wahh iya gan bener, trus buat ngebedainnya gimana gan ?
@hilmanrdn : class dengan nama yg sama ? atau seperti apa ?
Pada bagian mengambil form nilai yang dikasih komentar, itu ngambil niali ny pake selektor id (#namaid), diganti ke (.namaclass)
@diazpace : dengan nama class yang sama apa gimana gan ?
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>
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>
tetep aja mas,, udah ganti jadi class, data yg masuk tetep sama :(
![](https://skspace.sgp1.digitaloceanspaces.com/forums/images/ss nilai tetep.JPG)
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
kalo pake $(this) gimana mas hilman ? saya udah nonton kelas ajax dengan javascript dan jquery masih bingung..
udah solve mas hilman... makasih banyak :D
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