Penjumlahan di Ajax

<a href='https://ibb.co/j5a085 '>https://ibb.co/j5a085 </a>

Gan.. Numpang tanya nih, Gimana caranya biar total itu hasilnya tidak NaN ??

Saya pake Ajax..

ini index.php

 <?php

include 'koneksi.php';

?>
<!DOCTYPE html>
<html>
<head>
	<title>Form Percobaan</title>
	<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
</head>
<body>
<form action="" method="post">
	<label for="">Jenis Order</label><br>
	<select name="jenis" id="jenis">
	<?php
	$query = mysqli_query($koneksi, "SELECT nama_produk FROM produk");
	if ($query) {
		while ($produk = mysqli_fetch_array($query)){

	?>
		<option value="<?php echo $produk['nama_produk']?>" ><?php echo $produk['nama_produk']?></option>
	<?php
	}
}
	?>
	</select><br>

	<label for="">Harga Satuan</label><br>
	<input type="text" name="harga" id="harga" ><br>

	<label for="">Harga Satuan Per 1000</label><br>
	<input type="text" name="hargaPer" id="hargaPer" ><br>

	<label for="">Total</label><br>
	<input type="text" name="total" id="total" disabled><br>

	<input type="submit" value="Simpan">
</form>
	<script>
		$(function () {
			$("#jenis").change(function () {
				var jenis = $("#jenis option:selected").val();

				$.ajax({
					url : 'proses.php',
					type : 'POST',
					dataType : 'json',
					data : {
						'jenis' : jenis
					},
					success : function (produk) {
						harga = $("#harga").val(produk['harga_satuan']);
						hargaPer = $("#hargaPer").val(produk['harga_produk']);
						total = parseInt(harga)+parseInt(hargaPer);
						$("#total").val(total);

					}
				});
			});

			$("form").submit(function () {
				alert("Semoga Berhasil");
			});

		});
	</script>

<a href="index2.php">Lanjutkan</a>
</body>
</html>

ini proses.php nya

 <?php

require 'koneksi.php';

$query = mysqli_query($koneksi, "SELECT * FROM produk WHERE nama_produk ='".mysqli_escape_string($koneksi, $_POST['jenis'])."' ");
$data = mysqli_fetch_array($query);

echo json_encode($data);

?>
avatar AIbnuHibban
@AIbnuHibban

16 Kontribusi 4 Poin

Diperbarui 7 tahun yang lalu

4 Jawaban:

Jawaban Terpilih

Coba lihatin hasil result data json_encode($data). Atau coba var_dump kemudian tampilkan hasilnya.

Oh, iya sebelum lakukan di atas coba dl dengan defenisikan variable dari data yg didapatkan. Ini agar memudahkan agan untuk mengelolah datanya, jadi kalau ada error bisa di deteksi satu satu dulu.

<script>
// Edit baris berikut
harga = $("#harga").val(produk['harga_satuan']);
hargaPer = $("#hargaPer").val(produk['harga_produk']);
total = parseInt(harga)+parseInt(hargaPer);

// Menjadi begini
// Defenisikan variable2 yg ingin ditampilkan di form
var harga = produk['harga_satuan'];
var hargaPer = produk['harga_produk'];
var total = parseInt(harga) + parseInt(hargaPer);

// Baru masukkan nilai2 tsb ke form
$("#harga").val(harga);
$("#hargaPer").val(hargaPer);
$("#total").val(total);

</script>

avatar onirusama
@onirusama

265 Kontribusi 184 Poin

Dipost 7 tahun yang lalu

sudah saya tambah var, tetep ga ada perubahan gan..

avatar AIbnuHibban
@AIbnuHibban

16 Kontribusi 4 Poin

Dipost 7 tahun yang lalu

Error di proses.php gan di line 5..

hasilnya gini ..

https://ibb.co/ggrRWQ

avatar AIbnuHibban
@AIbnuHibban

16 Kontribusi 4 Poin

Dipost 7 tahun yang lalu

Thanks Gan udah berhasil

avatar AIbnuHibban
@AIbnuHibban

16 Kontribusi 4 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban