Belajar PHP

Cara Membuat Pencarian Data (Search) dengan PHP dan MySQL

Cara Membuat Pencarian Data (Search) dengan PHP dan MySQL

Pencarian data merupakan fitur penting pada aplikasi web seperti katalog produk, data siswa, data karyawan, atau pencarian artikel. Dengan PHP dan MySQL, kita bisa membuat sistem pencarian yang cepat dan sederhana menggunakan perintah LIKE.


1. Struktur Tabel Database

Misalnya kita menggunakan tabel products:

CREATE TABLE products (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255),
  description TEXT
);

2. Form Pencarian (search.php)

<form action="" method="get">
  <input type="text" name="q" placeholder="Cari nama produk..." required>
  <button type="submit">Cari</button>
</form>

3. Kode PHP untuk Menampilkan Hasil Pencarian

<?php
include "db.php"; // file koneksi

// Jika user memasukkan kata kunci
if (isset($_GET['q'])) {
    $q = "%".$_GET['q']."%";

    $stmt = $db->prepare("SELECT * FROM products WHERE name LIKE ? OR description LIKE ?");
    $stmt->execute([$q, $q]);

    echo "<h2>Hasil Pencarian: ".htmlspecialchars($_GET['q'])."</h2>";

    echo "<table>
            <tr>
              <th>ID</th>
              <th>Nama Produk</th>
              <th>Deskripsi</th>
            </tr>";

    while ($row = $stmt->fetch()) {
        echo "<tr>
                <td>".$row['id']."</td>
                <td>".$row['name']."</td>
                <td>".$row['description']."</td>
              </tr>";
    }

    echo "</table>";
}
?>

4. Contoh Lengkap Search (1 File Jadi Satu)

<!doctype html>
<html>
<body>

<form method="get">
  <input type="text" name="q" placeholder="Cari produk..." required>
  <button type="submit">Cari</button>
</form>

<?php
include "db.php";

if (isset($_GET['q'])) {
    $q = "%".$_GET['q']."%";

    $stmt = $db->prepare("SELECT * FROM products WHERE name LIKE ? OR description LIKE ?");
    $stmt->execute([$q, $q]);

    echo "<h3>Hasil pencarian untuk: ".htmlspecialchars($_GET['q'])."</h3>";

    echo "<table>
            <tr>
              <th>ID</th>
              <th>Nama Produk</th>
              <th>Deskripsi</th>
            </tr>";

    while ($row = $stmt->fetch()) {
        echo "<tr>
                <td>".$row['id']."</td>
                <td>".$row['name']."</td>
                <td>".$row['description']."</td>
              </tr>";
    }

    echo "</table>";
}
?>

</body>
</html>

5. Tips SEO & Optimasi Pencarian

  • Gunakan indeks di kolom yang sering dicari.
  • Tampilkan highlight pada teks yang cocok dengan kata pencarian.
  • Gunakan pagination jika data sangat banyak.
  • Untuk search lebih akurat, gunakan fulltext search.

Kesimpulan

Membuat fitur pencarian data dengan PHP dan MySQL sangat mudah menggunakan query LIKE. Dengan menambahkan form pencarian dan query sederhana, aplikasi web dapat memiliki fitur search yang fungsional dan responsif.

Ruang Diskusi

Tinggalkan Komentar

Belum ada komentar. Jadilah yang pertama berkomentar!