Halaman

Minggu, 29 Januari 2012

Sorting Tabel dengan PHP

Kadang kala dalam menampilkan data yang bersumber dari database dalam bentuk tabel kita ingin lebih dinamis dengan dapatnya kita sorting sesuai dengan kolom tabel yang kita sajikan. Dengan PHP kita dapat melakukannya, berikut contohnya:
  • Kita ingin menampilkan data mahasiswa yang terdapat dalam database latihan, table m_mahasiswa berikut ini:
  
  • Untuk menampilkan data diatas kode PHP-nya adalah sebagai berikut:
<table border=1 cellpadding='1' cellspacing='1'>
  <tr bgcolor="#FFCC99">
    <td><strong>NIM</strong></td>
    <td><strong>Mahasiswa</strong></td>
    <td ><strong>No Telp</strong></td>
    <td ><strong>Keterangan</strong></td>
  </tr>
  <tr>
    <?php
        $perintah = "select * from m_mahasiswa";
        $hasil=mysql_query($perintah);
        while ($data=mysql_fetch_array($hasil)){   
     
    echo "<td> $data[nim]</td>";
    echo "<td>$data[nm_mahasiswa]</td>";
    echo "<td>$data[no_telp]</td>";
    echo "<td>$data[keterangan]</td>";
    }
    ?>
  </tr>
</table>
  • Untuk dapat membuat sorting tentu kita dalam perintah sql-nya harus melakukan syntak order by agar datanya terurut. Nah agar PHP dapat mengurutkannya, pada header tabel, kita berikan tambahan kode sebagai berikut: (perhatikan yang huruf tebal)
<?php
    include ("koneksi.php");
    $perintah = "select * from m_mahasiswa limit 10";
    $hasil=mysql_query($perintah);

?>
<table border=1 cellpadding='1' cellspacing='1'>
  <tr bgcolor="#FFCC99">
    <td><strong><a href="<?php $_SERVER['PHP_SELF']?>?by=nim">NIM</a></strong></td>
    <td><strong><a href="<?php $_SERVER['PHP_SELF']?>?by=nm_mahasiswa"> Mahasiswa </a></strong></td>
    <td ><strong><a href="<?php $_SERVER['PHP_SELF']?>?by=no_telp">No Telp</a></strong></td>
    <td ><strong><a href="<?php $_SERVER['PHP_SELF']?>?by=keterangan"> Keterangan</a></strong></td>
  </tr>
  <tr>
  <?php
if ($_GET['by'] == "nim") $orderBy = "nim";
else if ($_GET['by'] == "nm_mahasiswa") $orderBy = "nm_mahasiswa";
else if ($_GET['by'] == "no_telp") $orderBy = "no_telp";
else if ($_GET['by'] == "keterangan") $orderBy = "keterangan";
else $orderBy = "nim";


        $perintah = "select * from m_mahasiswa order by $orderBy asc";
        $hasil=mysql_query($perintah);
        while ($data=mysql_fetch_array($hasil)){   

        echo "<td> $data[nim]</td>";
    echo "<td>$data[nm_mahasiswa]</td>";
    echo "<td>$data[no_telp]</td>";
    echo "<td>$data[keterangan]</td>";
    }
    ?></tr>
</table>
  • Nah tentu setelah kita tambahkan code diatas, ketika kita klik link header, akan dipanggil kembali file php kita dan akan membawa variable untuk mengurutkan (order by).
  • Data setelah diurut berdasarkan Nama

Selamat mencoba....

1 komentar: