Halo, pada kali ini saya akan menulis script tentang bagaimana membuat atau mengelompokkan dokumen atau postingan yang kita buat berdasarkan bulan dan tahun posting. Pada cms blog seperti WordPress atau Blogger fitur ini sudah ada pada menu Widget, tinggal ditaroh saja pada halaman yang diinginkan. Nah bagaimana jika kita membangun website dari php murni, maka diperlukan logika supaya hasilnya tampil seperti yang diinginkan.

Jadi logika program yang saya bikin ini adalah, memecah tanggal posting ini menggunakan perintah explode menjadi angka yang bisa diidentifikasi sebagai tahun, bulan dan tanggal. Contohnya sewaktu kita posting pada tanggal 1 Februari 2017 maka pada sistem tercatat 2017/02/01, maka diprogram akan dipecah dengan pemisahnya /. Selanjutnya tahun yang sama akan dikelompokkan dan bulan yang sama akan dikelompokkan juga. Pokoknya ya seperti itulah…haha, saya juga bingung jelasinnya, yang penting hasil akhirnya sesuai dengan yang diharapkan, masalah gimana logikanya maafkanlah saya yang masih nubi ini.

Daripada makin bingung ini penampakan hasilnya :

1

Untuk code utamanya akan saya lampirkan juga, yang lainnya silahkan diimprovisasi saja.. haha

<a id="expandList"><button type="button"><i class="fa fa-th-list"></i> Expand All</button></a>
<a id="collapseList"><button type="button"><i class="fa fa-eject"></i> Collapse All</button></a>

<?php
$sql=mysql_query("SELECT * FROM as_dokumen GROUP BY SUBSTR(tgl_posting,7,4) ORDER BY SUBSTR(tgl_posting,7,4) DESC");
echo"
<ul id='expList'>";
while ($r = mysql_fetch_array($sql)) {
$tgl_posting=$r['tgl_posting'];
$pecah_tgl_posting=explode("/",$tgl_posting);
$thn_post=$pecah_tgl_posting[2];
echo"
<li>$thn_post
<ul>";
$sql_bulan=mysql_query("SELECT * FROM as_dokumen WHERE SUBSTR(tgl_posting,7,4)='$thn_post' GROUP BY SUBSTR(tgl_posting,4,2) ORDER BY SUBSTR(tgl_posting,4,2) DESC");
while ($r_bulan = mysql_fetch_array($sql_bulan)) {
$tgl_posting1=$r_bulan['tgl_posting'];
$pecah_tgl_posting1=explode("/",$tgl_posting1);
$bln_post1=$pecah_tgl_posting1[1];
echo"
<li>".Bulan($bln_post1)."
<ul>";
$sql_data=mysql_query("SELECT * FROM as_dokumen WHERE SUBSTR(tgl_posting,7,4)='$thn_post' AND SUBSTR(tgl_posting,4,2)='$bln_post1' ORDER BY id_dokumen DESC");
while ($r_data = mysql_fetch_array($sql_data)) {
echo"
<li>
&bull; <span><a href='dokumen.php?doc=$r_data[id_dokumen]' target='_blank'>$r_data[nama_dokumen]</a></span>
</li>

"; }
echo"
</ul>

</li>

"; }
echo"
</ul>

</li>

"; }

echo"</ul>

"; ?>

Gimana apakah bertambah pusing? 😀 setidaknya sobat bisa menangkap makna dari script diatas, moga-moga saja sedikit menginspirasi 😀

Sekian.

Keep Calm and Stay Ngoding.