membuat tanggal dinamis


Status
Not open for further replies.

CodarID

Beginner 2.0
Membuat form daftar pilihan tanggal – date selection list

Jika kamu sudah merasa bisa membuat form dari html, maka sekarang saatnya untuk membuat form dari PHP yang bisa lebih dinamis. Untuk tanggal kita tidak perlu menggunakan database melainkan hanya array untuk menyimpan data bulan, dan fungsi bawaan tanggal dan waktu di PHP ( time()dan date() ).

Berikut adalah kodenya:
PHP:
<?php
/*
*  Nama Program  : form_tanggal.php
*  Deskripsi  : kode untuk menampilkan pilihan berupa tanggal, bulan, tahun
**/
 
$namaBulan = array(
  1 => "Januari", "Februari", "Maret", "April", "Mei", "Juni",
  "Juli", "Agustus",  "September", "Oktober",  "November", "Desember"
  );
$hariIni = time(); // menyimpan tanggal hari ini
$f_hari = date("M-d-Y", $hariIni); // format tanggal hari ini
$tahun = date("Y", $hariIni); // ambil tahun dari hari ini
 
?>
 
  <h3>Hari ini Tanggal <?php echo $f_hari; ?></h3>
 
  <form action="" method="get" accept-charset="utf-8">
  <!-- Menampilkan bulan -->
  <select name="bulan">
  <?php /* Buat daftar pilihan untuk bulan */
  // awal looping
  for ($n=1; $n <= 12 ; $n++) { ?>
  <option value="<?php echo $n; ?>" > <?php echo $namaBulan[$n]; ?> </option>
  <?php } // akhir looping?>
  </select>
 
  <!-- menampilkan hari -->
  <select name="hari" >
  <?php /* Buat daftar pilihan untuk hari */
  for ($n=1; $n <= 31 ; $n++) { ?>
  <option value="<?php echo $n; ?>" > <?php echo $n; ?> </option>
  <?php } ?>
  </select>
 
  <!-- menampilkan tahun -->
  <select name="tahun" >
  <?php /* Buat daftar pilihan untuk tahun */
  for ($n= $tahun - 4; $n <= $tahun+5 ; $n++) { ?>
  <option value="<?php echo $n; ?>" > <?php echo $n; ?> </option>
  <?php } ?>
  </select>
  </form>
 <span class="copy-text">Copyright &copy; 2016 Coding-Arena</span>

Note : Jika ingin menghapus copyright tidak apa-apa itu hanya contoh, untuk demo atau hasil dibawah ini ya

Demo atau hasil
4c759d2133db467aa96b8e58a94fecc0.png


Pembahasan:
  • Variabel nama bulan ($namaBulan) merupakan array yg berisi nama bulan, dari januari sampai desember. Kunci untuk array adalah angka. Bulan pertama, Januari, dimulai dengan angka 1 sehingga kunci dari array sesuai dengan jumlah dari bulan.
  • Buat variabel yg menyimpan tanggal terakhir, hari ini.
$hariIni berisi tanggal hari ini.
$f_hari
berisi tanggal dan format tanggal yg akan ditampilkan.
  • Buat tag <form> untuk menampung tag <select>
  • Mulai kode php untuk memulai perulangan bulan
    a. Untuk perulangan bulan,
    kondisi yg digunakan adalaha jika $n kurang dari sama dengan 12, dimana $n dimulai dari 1.
    b. Isi value dari option dengan $n, dimana $n merupakan angka 1 – 12.
    c. Tampilkan nama bulan dengan memanggil index dari variabel $namaBulan[$n], dimana $namaBulan[1] = Januari, dan seterusnya.
  • Mulai kode perulangan hari
    hampir sama seperti perulangan bulan, hanya kondisi dan yg ditampilkan yg berbeda. Kondisi yg digunakan adalah jika $n kurang dari sama dengan 31.
  • Mulai kode perulangan tahun
    Di dalam perulangan $n dimulai dari tahun sekarang dikurang 4, artinya jika tahun ini 2015, maka $n = 2011, dan kondisinya adalah $n kurang dari sama dengan $tahun (tahun ini, sekarang) ditambah 5, artinya jika sekarang 2015, maka perulangan akan sampai ke tahun 2020
 

el_makong

Hosting Guru
bukankah lebih mudah menggunakan ini?
Code:
<input type="date">
dan untuk menampilkan tanggal hari ini lebih baik menggunakan fungsi date() tanpa memasukkan parameter time() [seingat saya, kalau date tanpa 2nd param itu defaultnya isi time now]? dan untuk pemilihan bulan menggunakan jdmonthname(3) yang di explode()?
 
Status
Not open for further replies.

Top