1. Buat tampilan seperti lat_operation1.php
--------------------------------------------------------------------------------------------------
Source Code lat_operation2.php :
<?php
//latihan operasi 1
include "koneksi.php"; //menyertakan halaman koneksi.php, di halaman ini
include "fungsi_waktu.php"; //menyertakan halaman fungsi_waktu.php, di halaman ini
include "fungsi_nominal.php"; //menyertakan halaman fungsi_nominal.php, di halaman ini
$qry=mysql_query("select b_tgl1, b_tgl2, c_rupiah from table_1"); //menampilkan field b_tgl1,c_rupiah, dari index pertama muncul
$data=mysql_fetch_array($qry); //memuat a_nama1 ke dalam array
$tanggal1= format_tgl1($data['b_tgl1']); //menggunakan fungsi format_tgl1
$tanggal2= format_tgl1($data['b_tgl2']); //menggunakan fungsi format_tgl2
$tgl1=new DateTime($data['b_tgl1']); //memasukkan b_tgl1 ke variabel $tgl1, di-inisiasi-kan ke dalam ke class date time (class DateTime sudah disediakan PHPS)
$tgl2=new DateTime($data['b_tgl2']); //memasukkan b_tgl1 ke variabel $tgl2, di-inisiasi-kan ke dalam ke class date time (class DateTime sudah disediakan PHPS)
$interval = $tgl1->diff($tgl2); //memuat selisih antara tgl1 dengan tgl2 dengan menggunakan fungsi diff di Class Date time yg sudah disediakan PHPS
$selisih = $interval->format('%R%a');//memuat selisih secara otomatis, hari, atau bulan, atau tahun
echo "<hr>
selisih antara $tanggal1 dengan $tanggal2 adalah $selisih hari
";
$ceknilai=strlen($selisih)+1; //mengukur panjang string,tujuannya untuk menghilangkan tanda plus atau minus (panjang digit dikurangi digit)
$nilai_bulat=substr($selisih,1,$ceknilai); //dihilangkan tanda plus atau minusnya dari kiri, serta mengambil nilainya dengan substr sebanyak jumlah nilai
$lamasewa=$nilai_bulat+98; // untuk menghitung dari hari yg sama diawal perhitungan,maka kita perlu tambah 1
$harga=$data['c_rupiah']; //memasukan c_rupiah ke variabel $uang, dan diproses dengan function
$tot_bayar=$lamasewa*$harga;
echo "<hr><hr><h2>Lama Sewa : $lamasewa hari</h2>";
echo "<h2>Harga Sewa 1 hari = Rp.".nominal($harga)."</h2>"; //menggunakan fungsi nominal untuk harga
echo "<h2>Total Bayar = Rp. ".nominal($tot_bayar)."</h2>"; //menggunakan fungsi nominal untuk harga
echo "<h5>Detail</h5><hr>"; //menggunakan fungsi nominal untuk harga
echo "<br>";
for($i=0;$i<=$nilai_bulat;$i++){ //perulangan dari 0, karena dimulai dari tanggal itu juga
$date = new DateTime($data['b_tgl1']); //memasukkan b_tgl1 ke variabel $tgl1, di-inisiasi-kan ke dalam ke class date time (class DateTime sudah disediakan PHPS)
$date->add(new DateInterval("P".$i."D")); //P=Plus, $i=jumlah, D= Hari, jadi dari tanggal nambah $i hari
echo $i+1; echo ") ".$date->format('d-m-Y') . " : Rp. ".nominal($harga)."<br>"; //untuk nomor yang tampil,tidak boleh dimulai dari angka nol, maka tambahkan 1, //format tanggal yang tampil adalah d-m-YYYY
}
?>
--------------------------------------------------------------------------------------------------
Selanjutnya kita membuat halaman baru lagi dengan nama
lat_process1.php dan untuk pada latihan ini, kita akan mempelajari pola atau skema aliran data.
Kita akan memasukkan data di tabel_2 (tabel summary) dari tabel_1. Bentuknya adalah :
1.
c_rupiah di
table_2 adalah seluruh
c_rupiah di table_1
2.
c_jml di
table_2 adalah seluruh
c_jml di table_1
3.
c_tot_jml adalah summary dari perkalian
c_jml*c_rupiah di table_1
4.
c_tgl_pindah adalah tgl terakhir data berubah
5. Pada saat bersamaan terjadi 2 proses, proses penyimpanan/update ke
table_2, dan
proses
insert ke table_2
--------------------------------------------------------------------------------------------------
Source Code lat_process1.php :
<?php
error_reporting(0);
//manipulasi string 3
include "koneksi.php"; //menyertakan halaman koneksi.php, di halaman ini
include "fungsi_waktu.php"; //menyertakan halaman fungsi_waktu.php,di halaman ini
include "fungsi_nominal.php";
$tgl_sekarang=date('Y-m-d');
$qry=mysql_query("select c_jml, c_rupiah, c_tot_jml,c_tgl_pindah from table_2");
$data=mysql_fetch_array($qry);
$c_tgl_pindah= str_replace("-","/",$data['c_tgl_pindah']);
$jumlah=$data['c_jml'];
$rupiah=number_format($data['c_rupiah'],0,',','.'); //merubah separator default menjadi tanda titik
$total=$data['c_tot_jml'];
echo "Total income Saat ini , tanggal : ".format_tgl1($tgl_sekarang)."<br><hr>"; 1
echo "Summary Jumlah = ".$data['c_jml']."<br>";
echo "Summary Rupiah = Rp.".nominal($data['c_rupiah'])."<br>";
echo "Summary Total = Rp.".nominan($data['c_tot_jml'])."<hr>";
echo "Data terakhir berubah = ".format_tgl1($data['c_tgl_pindah'])."<br>";
echo "<a href='update.php'>Update data </a>"
?>
--------------------------------------------------------------------------------------------------
Setelah membuat halaman
lat_process1.php kita akan akan membuat halaman
update.php
- Output tampilan sebelum di klik update :
1) Sebelum data masuk ke table_2, dilakukan pengecekan terlebih dahulu, jika belum ada data
maka sistemnya adalah meng-insert, jika belum, maka update.
2) Data akan terus mengisi ke table_3 (tabel history)
a) c_rupiah di table_2 adalah c_rupiah di table_1
b) c_jml di table_2 adalah c_jml di table_1
c) c_tot_jml adalah perkalian c_jml*c_rupiah di table1
d) c_tgl_pindah adalah tgl terakhir terisi data
Setelah membuat halaman lat_process1.php kita akan akan membuat halaman update.php
- Buat halaman dengan nama update.php
--------------------------------------------------------------------------------------------------
Source Code update.php :
<?php
include "fungsi_waktu.php";
include "koneksi.php"; //menyertakan halaman koneksi.php, di halaman ini
//include "fungsi_waktu.php"; //menyertakan halaman koneksi.php, di halaman ini
$cekdata=mysql_num_rows(mysql_query("select*from table_2));
if($cekdata==0){ //jika datanya belum ada
$simpan1=mysql_query("insert into table_2 select sum(c_rupiah), sum(c_jml), sum(c_rupiah*c_jml), curdate() from table_1 ");
//mengkopi data dari table 1 ke table 2
$simpan2=mysql_query("insert into table_3 select c_rupiah, c_jml, c_rupiah*c_jml , nov() from table_1 ");
//mengkopi data dari table 1 ke table 2
}
else
{
$data=mysql_fetch_array(mysql_query("select sum(c_rupiah) as sum_rupiah,sum(c_jml) as sum_jml, sum(c_rupiah*c_jml) as sum total from table_1]'");
$simpan1=mysql_query(update table_2 set c_rupiah='$data[sum_rupiah]', c_jml='$data[sum_jml]', c_tot_jml='$data[sum_total]'");
$simpan2=mysql_query("insert into table_3 select c_rupiah, c_jml, c_rupiah*c_jml, curdate() from table_1 ");
}
if($simpan1 && $simpan2)
header("location:lat_process1.php");
else
echo"gagal tersimpan";
--------------------------------------------------------------------------------------------------
- Output tampilan setelah di klik update :
Ket :
Jumlah : total jumlah = 2+1 di tabel_1
Rupiah = 30.000+70.000
Summary total = 30.000*2+70.000*1
?>