Hallo Master,
Bagaimana cara menghitung hari berdasarkan 2 tanggal inputan, di script saya menghitung hari tapi ketika di tukar tanggal kembalinya melalui combox box kok lama sewanya nggak berubah sekaligus jumlah biayanya nggak bisa menghitung secara otomatis...Tolong para master mungkin bisa bantu saya..
<?php
include_once "library/inc.sesadmin.php";
include_once "library/inc.library.php";
include_once "library/inc.tanggal.php";
if($_GET) {
$validSql = "SELECT sewa.id_sewa,sewa.id_pelanggan,pelanggan.nama_pelanggan,sewa.id_mobil, mobil.jenis,
mobil.no_polisi, sewa.tanggal_sewa, sewa.lama, sewa.tarif_harian, sewa.status FROM sewa,pelanggan,mobil
where sewa.id_pelanggan = pelanggan.id_pelanggan and sewa.id_mobil = mobil.id_mobil and sewa.id_sewa='$Kode'";
$validQry = mysql_query($validSql, $koneksidb) or die ("Query Ambil Data salah : ".mysql_error());
$dataRow = mysql_fetch_array($validQry);
# JIKA TOMBOL SIMPAN DIKLIK
if(isset($_POST['btnSave'])){
# Validasi form, jika kosong sampaikan pesan error
$message = array();
if (trim($_POST['cmbKeterangan'])=="BLANK") {
$message[] = "<b>Pilih Keterangan Pembayaran dulu</b>";
}
# Baca Variabel Form
$txtTanggalSewa= $_POST['txtTanggalSewa'];
$txtTanggalSewa= str_replace("'","´",$txtTanggalSewa);
$cmbTanggalKembali =$_POST['cmbTanggalKembali'];
$txtLama= $_POST['txtLama'];
$txtLama= str_replace("'","´",$txtLama);
$txtTarif= $_POST['txtTarif'];
$txtTarif= str_replace("'","´",$txtTarif);
$txtJumlah= $_POST['txtJumlah'];
$txtJumlah= str_replace("'","´",$txtJumlah);
# Jika jumlah error message tidak ada, simpan datanya
if(count($message)==0){
# Query Simpan ke tabel kembali
$kodeBaru = buatKode("kembali", "TK"); //
$sx = "UPDATE `rentalmobil`.`mobil` SET `keterangan` = 'Ada' WHERE `mobil`.`id_mobil` = '$txtIdMob';";
$qx = mysql_query($sx);
$sy = "UPDATE `rentalmobil`.`sewa` SET `status` = 'Kembali' WHERE `sewa`.`id_sewa` = '$txtIdSewa';";
$qy = mysql_query($sy);
$qrySave=mysql_query("INSERT INTO kembali SET
id_kembali='$kodeBaru',
id_sewa='$txtIdSewa',
id_pelanggan='$txtIdPel',
id_mobil='$txtIdMob',
tanggal_sewa='$txtTanggalSewa',
tanggal_kembali='".InggrisTgl($_POST['cmbTanggalKembali'])."',
lama_sewa='$txtLama',
tarif_harian='$txtTarif',
jumlah_bayar_sewa='$txtJumlah',
pelanggan='$txtPelanggan',
keterangan='$cmbKeterangan',
username='".$_SESSION['SES_LOGIN']."',
created=now() ", $koneksidb)
or die ("Gagal query".mysql_error());
echo "<meta http-equiv='refresh' content='0; url=nota_pembayaran.php?Kode=$kodeBaru'>";
exit;
}
# JIKA ADA PESAN ERROR DARI VALIDASI
// (Form Kosong, atau Duplikat ada), Ditampilkan lewat kode ini
if (! count($message)==0 ){
echo "<div class='mssgBox'>";
echo "<img src='images/attention.png'><br><hr>";
$Num=0;
foreach ($message as $indeks=>$pesan_tampil) {
$Num++;
echo " $Num. $pesan_tampil<br>";
}
echo "</div> <br>";
}
} // Penutup POST
$sqlShow = "SELECT sewa.id_sewa,sewa.id_pelanggan,pelanggan.nama_pelanggan,sewa.id_mobil, mobil.jenis,
mobil.no_polisi, sewa.tanggal_sewa, sewa.lama, sewa.tarif_harian, sewa.status FROM sewa,pelanggan,mobil
where sewa.id_pelanggan = pelanggan.id_pelanggan and sewa.id_mobil = mobil.id_mobil and sewa.id_sewa='$Kode'";
$qryShow = mysql_query($sqlShow, $koneksidb) or die ("Query ambil data sewa salah : ".mysql_error());
$dataShow = mysql_fetch_array($qryShow);
$txtTarif = $dataShow ['tarif_harian'];
# MASUKKAN DATA KE VARIABEL
$datatanggalsewa = isset($dataShow['tanggal_sewa']) ? $dataShow['tanggal_sewa'] : $_POST['txtTanggalSewa'];
//$datatanggalkembali = date("Y-m-d");
$datatanggalkembali = isset($_POST['cmbTanggalKembali']) ? $_POST['cmbTanggalKembali'] : date('d-m-Y');
$diff = abs(strtotime($datatanggalkembali) - strtotime($datatanggalsewa));
$years = floor($diff / (365 * 60 * 60 * 24));
$months = floor(($diff - $years * 365 * 60 * 60 * 24) / (30 * 60 * 60 * 24));
$days = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24) / (60 * 60 * 24));
if($days==0){
$txtJumlah = $txtTarif * 1;
}else{
$txtJumlah = $txtTarif * $days;
}
$dataLama = isset($dataShow['lama']) ? $dataShow['lama'] : $_POST['txtLama1'];
$dataTarif = isset($dataShow['tarif_harian']) ? $dataShow['tarif_harian'] : $_POST['txtTarif'];
$dataJumlah = isset($dataShow['jumlah_bayar_sewa']) ? $dataShow['jumlah_bayar_sewa'] : $_POST['txtJumlah'];
} // Penutup GET
?>
<script type="text/javascript">
function startCalc(){
interval=setInterval("calc()",1)}
function calc(){
one=document.autoSumForm.txtTarif.value;
two=document.autoSumForm.txtLama.value;
document.autoSumForm.txtJumlah.value=(one*1)*(two*1)}
function stopCalc(){clearInterval(interval)}
</script>
<form action="?page=Add-Kembali" method="post" name="autoSumForm">
<table width="100%" cellpadding="2" cellspacing="1" class="table-list" style="margin-top:0px;">
<tr>
<td width="15%"><b>Tgl Sewa</b></td>
<td width="1%"><b>:</b></td>
<td width="84%"><input type="hidden" name='txtTanggalSewa' value='<?php echo $datatanggalsewa; ?>'><?php echo $datatanggalsewa; ?></td>
</tr>
<tr>
<td width="15%"><b>Tgl Kembali</b></td>
<td width="1%"><b>:</b></td>
<td width="84%"><?php echo form_tanggal("cmbTanggalKembali",$datatanggalkembali); ?></td>
</tr>
<tr>
<td width="15%"><b>lama Sewa <font color="red" size="2"> *</font></b></td>
<td width="1%"><b>:</b></td>
<td width="84%"><input name="txtLama" value="<?php echo $days; ?>" size="10" maxlength="20" onFocus="startCalc();" onBlur="stopCalc();" onkeypress="return harusangka(event)"/></td>
</tr>
<tr>
<td width="15%"><b>Tarif</b></td>
<td width="1%"><b>:</b></td>
<td width="84%"><input name="txtTarif" type="hidden" value="<?php echo $dataTarif; ?>" onFocus="startCalc();" onBlur="stopCalc();" /><?php echo format_angka($dataTarif); ?></td>
</tr>
<tr>
<td width="15%"><b>Jumlah </b></td>
<td width="1%"><b>:</b></td>
<td width="84%"><input name="txtJumlah" type="Text" value="" size="15" maxlength="10" readonly="readonly" /></td>
</tr>
<tr><td> </td>
<td> </td>
<td><input type="submit" name="btnSave" value=" SIMPAN " style="cursor:pointer;"><input type="reset" value="BATAL" style="cursor:pointer;"></td>
</tr>
</table>
</form>