Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
response ajax dari php sukses tapi script php tidak tereksekusi
saya punya tabel yang salah satu action datanya seperti ini :
<a class="btn" data-toggle="modal" data-target="#hapus-snippet" data-id="<?= $data['id'];?>"><i class="fa fa-info-circle"> coba hapus</i></a>
dan modalnya :
<div class="modal fade" id="hapus-snippet" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header"></div>
<div class="modal-body">
<div class="text-center">
<img style="" id="img" alt="emo-mikir" src="../asset/mikir.gif">
<div id="test"></div>
</div>
<div class="text-center" style="margin-top: 10px">
<a style="margin-right: 5px" class="tombol tombol-no" data-dismiss="modal"><i class="fa fa-times fa-lg"></i> TIDAK</a>
<a style="margin-left: 5px" type="submit" class="tombol tombol-ok" id="ya"><i class="fa fa-check fa-lg"></i> YA</a></form>
</div>
</div>
</div>
</div>
</div>
div dengan #tes itu nantinya diisi dengan ajax ini :
// AJAX HAPUS
$('#hapus-snippet').on('show.bs.modal', function(e) {
test = $(e.relatedTarget).data('id');
$.ajax({
type : 'POST',
url : 'hps.php',
data : 'ide='+test,
success : function(data) {
$('#test').html(data);
}
});
});
kode hps.php nya seperti ini :
<?php require_once "../vendor/_autoload.php";
if($_POST['ide']) {
$id = $_POST['ide'];
$sql = "SELECT * FROM snippet WHERE id = $id";
$res = $kon->query($sql);
foreach ($res as $vals) {
$judul = $vals['judul'];
?>
<form action="hapus_snippet.php" method="post" id="hps">
<input type="hidden" name="id" value="<?php echo $vals['id']; ?>">
<div class="alert alert-danger">
<p>Yakin ingin menghapus snippet dengan judul <b><?=$judul;?></b> ini ???</p>
</div>
<?php } } ?>
sejauuh itu berhasil sesuai apa yang saya harapkan, tapi untuk lanjut konfirmasi hapusnya yang tidak sesuai.
// KONFIRMASI HAPUS
$('#ya').click(function(e){
e.preventDefault();
$(this).text('Tunggu sebentar...')
$.ajax({
type : 'POST',
url : 'hapus_snippet.php',
data : test,
success : function(data) {
$('#ya').text('YA');
$('#test').html(data);
}
});
});
kode hapus_snippet.php nya ini :
<?php require '../vendor/_autoload.php';
$id = $_GET['id'];
$hapus = $conn->prepare("DELETE FROM snippet WHERE id = $id");
$hapus->execute();
$getEditId = $conn->prepare("SELECT * FROM snippet ORDER BY id");
$getEditId->execute();
$no = 1;
while ($data = $getEditId->fetch()) :
$id = $data['id'];
$getEditId_2 = $conn->prepare("UPDATE snippet SET id = $no WHERE id = $id");
$getEditId_2->execute();
$no++;
endwhile;
$edited = $conn->prepare("ALTER TABLE snippet AUTO_INCREMENT = $no");
$edited->execute();
if($edited) {
echo "
<script>
$('#img').attr('src', '../asset/ok.gif'); //sukses
</script>
";
} else {
echo "
gagal bro
";
}
?>
respon uji dari if $edited masuk ke statement sukses, tetapi di database datanya tidak terhapus. bagaimana master ??? makasi sebelumnya jika sudah merespon pertanyaan ini.
1 Jawaban:
kalau metode GET coba di ajaxnya pasang langsung di URl nya hapus_snippet.php?id =$id atau di backendnya ngga tahu key 'id' ini dari mana, paling tidak di ajaxnya data: { id: $id }