Sabtu, 20 Maret 2021

Searching & Ordering pada PHP

   Assalamu'alaikum, hallo semuanya! Kembali lagi dengan saya Fadli Mahesa, seorang siswa yang bersekolah di SMKN 4 Bandung dan duduk di bangku kelas XI RPL 3. Kali ini saya akan membagikan lagi dan lagi sedikit ilmu di dunia percodingan, yaitu tentang Contoh Searching & Ordering pada PHP. Mari kita bahas!

   Baik, pembahasan kali ini adalah pembahasan lanjutan dari postingan sebelumnya, untuk source code lebih lengkap silahkan cek postingan sebelumnya atau pada github yang terterta di bawah.

   Pertama untuk menambahkan fitur searching kita harus menambahkan beberapa syntax/codingan pada source code kita.

tambahkan Syntax ini pada file v_index.php letakan di atas tag table :


<form action="index.php" method="GET">
    Cari berdasarkan NIS atau nama
    <input type="text" name="search" value="<?= $search ?>">
    <button type="submit">Cari</button>
    </form>

   Untuk apa kita menambagkan condingan tersebut? nah syntax atau codingan diatas sendiri digunakan untuk membuat form yang aksinya akan mengarah ke index.php ketika form disubmit, maka akan mengirim data search atribut value yang digunakan untuk menampilkan kembali apa yang user telah input pada form search.

Setelah itu kita menuju file index.php lalu tambahkan Syntax ini di atas variabel $listSiswa :


 $search = @$_GET['search'];
  if (!empty($search)) $sql .= " WHERE nis LIKE '%$search%' OR nama_lengkap LIKE '%$search%' OR jenis_kelamin LIKE '%$search' OR kelas LIKE '%$search%' OR jurusan LIKE '%$search%'";

   Syntax di atas digunakan untuk menangkap data nama "search" yang dikirim dari form pada file v_index.php dengan metode GET. Lalu, syntax lanjutannta jika variabel $search tidak kosong maka, tambahkan syntax SQL untuk mencari berdasarkan NIS atau Nama Lengkap.

   Selanjutnya kita membahas perihal menambahkan fitur ordering.

edit Syntax pada file v_index.php pada bagian thead menjadi seperti :


<thead>
           <tr>
                <th scope="col">NO</th>
                <th scope="col">NIS
                <a href="index.php?sort=nis&order=asc">▲</a>
                <a href="index.php?sort=nis&order=desc">▼</a>
                </th>
                <th scope="col">Nama Lengkap
                <a href="index.php?sort=nama_lengkap&order=asc">▲</a>
                <a href="index.php?sort=nama_lengkap&order=desc">▼</a>
                </th>
                <th scope="col">Gender
                <a href="index.php?sort=jenis_kelamin&order=asc">▲</a>
                <a href="index.php?sort=jenis_kelamin&order=desc">▼</a>
                </th>
                <th scope="col">Kelas
                <a href="index.php?sort=kelas&order=asc">▲</a>
                <a href="index.php?sort=kelas&order=desc">▼</a>
                </th>
                <th scope="col">Jurusan
                <a href="index.php?sort=jurusan&order=asc">▲</a>
                <a href="index.php?sort=jurusan&order=desc">▼</a>
                </th>
                <th scope="col">Alamat</th>
                <th scope="col">Gol Darah
                <a href="index.php?sort=gol_darah&order=asc">▲</a>
                <a href="index.php?sort=gol_darah&order=desc">▼</a>
                </th>
                <th scope="col">Nama Orang Tua</th>
                <th>Aksi</th>
            </tr>
        </thead>

Lalu tambahkan Syntax ini dan letakkan dibawah Syntax Searching tadi :


//SEARCHING
  $search = @$_GET['search'];
  if (!empty($search)) $sql .= " WHERE nis LIKE '%$search%' OR nama_lengkap LIKE '%$search%' OR jenis_kelamin LIKE '%$search' OR kelas LIKE '%$search%' OR jurusan LIKE '%$search%'";

  //ORDERING
  $order_field = @$_GET['sort']; //Field yang akan di order
  $order_mode = @$_GET['order']; // Mode yang dipilih Ascending atau Descending
  if (!empty($order_field) && !empty($order_mode)) $sql .= " ORDER BY $order_field $order_mode";


Hasil :





Previous Post
Next Post

0 komentar: