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.

avatar ngadiono
@ngadiono

27 Kontribusi 14 Poin

Diperbarui 6 tahun yang lalu

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 }

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban