Membuat tabel warna-warni dengan php
Tentunya anda pernah melihat sebuah laporan yang disajikan secara unik dan menarik php. Misal, tabel tersebut dibuat dengan warna selang seling/warna-warni. Tujuan dibuat warna-warni seperti itu bukan hanya agar tampilan lebih menarik tapi juga bertujuan agar baris-baris data bisa terlihat dengan jelas. Bagaimana membuatnya dalam php?
Untuk membuat tabel warna-warni seperti pada gambar diatas, caranya sangat mudah. Secara logika kita hanya perlu melakukan perubahan warna pada setiap baris tabelnya. Misal tabel baris 1 warna biru, kedua warna kuning, kemudian kembali lagi warna biru dst. Dan dapat di asumsikan bahwa baris yang ganjil diberi warna biru, baris genap diberi warna kuning.
Berikut saya contohkan dengan menyusun tabel menggunakan perulangan for dalam php.
<?php $baris= 1; echo "<table width=\"400\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#ffffff\">"; echo "<tr bgcolor=\"#00CC00\">"; echo "<th>No.</th>"; echo "<th>Nama</th>"; echo "<th>Alamat</th>"; echo "</tr>"; for($i=1; $i<=10;$i++) { $warna= ($baris% 2 == 1) ? "#cccccc" : "#99FF99"; echo "<tr bgcolor=\"".$warna."\">"; echo "<td>$i</td>"; echo "<td>Nama $i</td>"; echo "<td>Alamat $i</td>"; echo "</tr>"; $baris++; } echo "</table>"; ?>
Contoh kode php diatas dimulai dengan membuat sebuah variabel dengan nama $baris, kemudian memberi nilai awal dengan 1. Kemudian menuliskan perintah pembuka tabel lengkap dengan atributnya, lalu membuat tabel header dengan perintah th. Lalu mulai membuat baris datanya dalam perulangan for.
Pada saat $baris dibagi dua menghasilkan nilai sisa bagi 1 (ganjil) maka baris tersebut diberi dengan warna #cccccc, selain itu maka diberi warna #99FF99.
Hal tersebut akan diulang sebanyak 10 baris sesuai dengan nilai max perulangan dan pada setiap perubahan nilai $i maka nilai $baris juga ditambah 1.
Bagaimana jika diterapkan dalam bentuk laporan database mysql? Hanya sedikit perlu melakukan perubahan dari script awal, yaitu menghubungan dengan data yang tersimpan dalam database mysql.
Lihat perubahannya berikut :
<?php include("koneksi.php"); $baris= 1; echo "<table width=\"400\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#ffffff\">"; echo "<tr bgcolor=\"#00CC00\">"; echo "<th>NIM</th>"; echo "<th>Nama</th>"; echo "<th>Alamat</th>"; echo "</tr>"; $myquery="select nim,nama,alamat from tb_mahasiswa"; $daftarsiswa=mysql_query($myquery) or die (mysql_error()); while($dataku=mysql_fetch_object($daftarsiswa)) { $warna= ($baris% 2 == 1) ? "#cccccc" : "#99FF99"; echo "<tr bgcolor=\"".$warna."\">"; echo "<td>".$dataku->nim."</td>"; echo "<td>".$dataku->nama."</td>"; echo "<td>".$dataku->alamat."</td>"; echo "</tr>"; $baris++; } echo "</table>"; ?>
Kode diatas akan menghasilkan laporan seperti berikut :
Script laporan diatas saya ambilkan dari contoh laporan yang pernah saya bahas pada Laporan Aplikasi Data Mahasiswa
Jika ada masukan atau pertanyaan jangan sungakn mengisi komentar dibawah. Semoga bermanfaat.
Zainal Hakim
** Bebas disunting dengan menyebutkan sumber **