form perulangan dan kalkulasi otomatis

Aldian Ds · May 23, 2011
mas, mohon arahan, gimana ya script untuk form perulangan dan hitung secara otomatis.. kira2 kaya form kasir.. jadi setiap input pada field jumlah barang dan harga(harga bukan di database)
otomatis muncul total harga dan input belanja baru. mohon bantuannya mas...
Silahkan login untuk menjawab!
2
Loading...
Ellyx Christian · May 23, 2011 · 2 Suka · 0 Tidak Suka
pada contoh ini data form disimpan di session.
dan bentuk sessionnya seperti berikut:
$_SESSION['cart'] = array(
	'PRD001' => array(
		'code' => 'PRD001',
		'price' => 1000,
		'qty' => 2
	)
);
contoh kode:
<?php
session_start();
if(isset($_POST['add'])){
	$code = $_POST['code'];
	$price = $_POST['price'];
	$qty = isset($_SESSION['cart'][$code]) ? $_POST['qty'] + $_SESSION['cart'][$code] : $_POST['qty'];
	$_SESSION['cart'][$code]['code'] = $code;
	$_SESSION['cart'][$code]['price'] = $price;
	$_SESSION['cart'][$code]['qty'] = $qty;
}
<form name="form-add" action="" method="post">
Code: <input type="text" name="code" />
Price: <input type="text" name="price"/>
Qty: <input type="text" name="qty"/>
<input type="submit" name="add" value="Add"/>
</form>
<form name="form-cart" action="" method="post">
<table>
<tr>
	<td>Code</td>
	<td>Price</td>
	<td>Qty</td>
	<td>Sub Total</td>
</tr>
<?php 
$grandTotal = 0;
foreach($_SESSION['cart'] as $cart){?>
<tr>
	<td>
	<?php echo $cart['code'];?>
	<input type="hidden" name="code[]" value="<?php echo $cart['code'];?>"/>
	</td>
	<td><input type="text" name="price[<?=$cart["code"];?>]" value="<?php echo $cart['price'];?>"/></td>
	<td><input type="text" name="qty[<?=$cart['code'];?>]" value="<?php echo $cart['qty'];?>"/></td>
	<?php
	//proses kalkulasi
	$total = $cart['qty'] * $cart['price'];
	$grandTotal += $total;
	?>
	<td><?php echo $total;?></td>
</tr>
<?php }?>
<tr>
	<td></td>
	<td></td>
	<td>Grand Total:</td>
	<td><?php echo $grandTotal;?></td>
</tr>
</table>
</form>
Silahkan dicoba dan lihat hasilnya.
0
Loading...
Aldian Ds · May 24, 2011 · 0 Suka · 0 Tidak Suka
Ok masss.... makasi bgt!! saya coba..
0
Loading...
Aldian Ds · May 24, 2011 · 0 Suka · 0 Tidak Suka
aduh g bisa mas

Warning: Invalid argument supplied for foreach()
pesan itu yg muncul..
4
Loading...
Ellyx Christian · May 24, 2011 · 4 Suka · 0 Tidak Suka
maaf, coba ganti di bagian foreach (baris ke 27) dengan ini:
<?php 
$grandTotal = 0;
if(isset($_SESSION['cart'])){
foreach($_SESSION['cart'] as $cart){?>
<tr>
	<td>
	<?php echo $cart['code'];?>
	<input type="hidden" name="code[]" value="<?php echo $cart['code'];?>"/>
	</td>
	<td><input type="text" name="price[<?=$cart["code"];?>]" value="<?php echo $cart['price'];?>"/></td>
	<td><input type="text" name="qty[<?=$cart['code'];?>]" value="<?php echo $cart['qty'];?>"/></td>
	<?php
	//proses kalkulasi
	$total = $cart['qty'] * $cart['price'];
	$grandTotal += $total;
	?>
	<td><?php echo $total;?></td>
</tr>
<?php }
}
?>
0
Loading...
Aldian Ds · May 24, 2011 · 0 Suka · 0 Tidak Suka
makasi lagi mass.. cepat bgt respon nya... saya coba lagi..