Script PHP Untuk Cari Data di Database MySQL

 Script PHP Untuk Cari Data di Database MySQL
Ekpektasi yang ingin dicapai dari  Script PHP Untuk Cari Data di Database MySQL. Blog root93

Dalam sebuah database yang memiliki banyak data maka tentunya kita membutuhkan sebuah fitur pencarian untuk memudahkan pengguna dalam mencari data – data tertentu yang mereka butuhkan, dengan kata lain aplikasi yang anda bangun dengan php mysql harus bisa melakukan pencarian lalu menampilkannya (data) sesuai dengan kata kunci yang ditulis oleh pengguna. 

Untuk melakukan pencarian data di database mysql maka Anda bisa menggunakan perintah / query berikut 

SELECT * FROM nama_tabel WHERE kolom LIKE nama_data 

Query yang digunakan bisa bervariasi tergantung dari data/kolom mana yang akan kita ambil datanya sebagai parameter untuk memandingkan kata kunci yang tersimpan di salah satu kolom database dengan yang diketikan oleh pengguna pada formulir pencarian

Anda bisa saja membuat query dengan tambahan OR untuk memperluas hasil pencarian berdasarkan pada data kolom lain. Contoh :

SELECT * FROM nama_tabel WHERE kolom LIKE nama_data OR LIKE nama_data

Nilai setelah parameter LIKE merupakan kata kunci yang akan digunakan untuk melakukan query dan menampilkan data yang sesuai.

Script PHP Untuk Cari Data di Database MySQL
Saya akan memberikan contoh bagaimanascript php untuk melakukan pencarian data di database mysql. Saya akan memberikan dengan contoh gaya penulisan, pertama menggunakan PHP Procedural Style dan kedua menggunakan OOP PHP. Dalam studi kasus kali ini Saya akan mencoba melakukan pencarian data berdasarkan nama siswa atau nisn-nya

Database
Sebelum memberikan contoh scriptnya, silahkan buat database dengan nama misal “pencarian” lalu selanjutnya import sql atau jalankan query berikut :

CREATE TABLE `cari` (
  `id` int(13) NOT NULL,
  `nisn` char(10) NOT NULL,
  `nama` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data untuk tabel `cari`
--

INSERT INTO `cari` (`id`, `nisn`, `nama`) VALUES
(1, '0189564698', 'Ahmad Zaelani'),
(2, '0189564699', 'Lisa Maharani');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `cari`
--
ALTER TABLE `cari`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `cari`
--
ALTER TABLE `cari`
  MODIFY `id` int(13) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;


Contoh 1
Pada contoh pertama script php untuk cari data di database mysql akan menggunakan gaya penulisan php procedural style/php mysqli yang biasa. Baca : CRUD PHP Procedural Style
  1. koneksi.php
    Buat sebuah file dengan nama koneksi.php, isi data – datanya seperti berikut
    
    
    <?php
    define('DB_SERVER', 'localhost');
    define('DB_USER', 'root');
    define('DB_PASS','');
    define('DB_NAME','pencarian');
    $koneksi= mysqli_connect(DB_SERVER,DB_USER,DB_PASS,DB_NAME);
    if($koneksi==false){
     die("Gagal melakukan koneksi ke database :".mysqli_connect_error($koneksi));
    }
    
    ?>
    
  2. Selanjutnya buat file index.php untuk melakukan uji coba pencarian dan menampilkan hasil pencarian
    
    
    <?php
    include('koneksi.php');
    
    ?>
    <!DOCTYPE html>
    <html>
    <head>
     <title>Pencarian Data - Root93.co.id</title>
    </head>
    <body>
    
    
    <?php
    //proses validasi ketika terjadi permintaan pencarian
    $cari_err ="";
    if($_SERVER['REQUEST_METHOD']=='POST'){
     if(empty($_POST['cari'])){
      $cari_err="Masukan sebuah kata kunci untuk melakukan pencarian";
     }else{
      $cari=mysqli_real_escape_string($koneksi,($_POST['cari']));
     }
     
    }
    
    ?>
    <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
     <input type="text" name="cari" size="50" placeholder="Masukan nama atau nis siswa yang ingin dicari">
     <br/>
     <span style="color: red;"><?php echo $cari_err; ?></span><br>
     <input type="submit" name="kirim" value="Cari"><br/>
    </form>
    <?php
    if(empty($cari_err)){
     if(!empty($cari)){
      $sql="SELECT id, nisn, nama FROM cari WHERE nama LIKE '$cari' OR nisn LIKE '$cari'";
      $perintah=mysqli_query($koneksi, $sql);
      //jika data yang dicari > 0 atau ada maka tampilkan 
      if(mysqli_num_rows($perintah)>0){
       echo '
       <p>Menampilkan hasil pencarian untuk '.$cari.'
        <table width="500px" border="1">
        <tbody>
        <thead>
        <tr>
         <th>Nama</th>
         <th>Nisn</th>
        </tr>
       ';
       //kemudian lakukan perulangan
       while($row=mysqli_fetch_array($perintah)){
        echo '
    
        <tr>
        <td>'.$row['nama'].'</td>
        <td>'.$row['nisn'].'</td>
        </tr>
    
        ';
       }
       echo '
       </tbody>
       </table>
       ';
    
      }else{
       echo "Maaf data $cari  tidak bisa kami temukan";
      }
     }
    }
    
    ?>
    </body>
    </html>
    

Contoh 2
Pada contoh pertama script php untuk cari data di database mysql akan menggunakan gaya penulisan oop php, jika belum mengerti tentang oop php, silahkan baca tutorial oop php

  1. koneksi.php
    Buat sebuah file dengan nama koneksi.php, isi data – datanya seperti berikut
    
    
    <?php
    define('DB_SERVER', 'localhost');
    define('DB_USER', 'root');
    define('DB_PASS','');
    define('DB_NAME','pencarian');
    $koneksi= new mysqli(DB_SERVER,DB_USER,DB_PASS,DB_NAME);
    if($koneksi==false){
     die("Gagal melakukan koneksi ke database :".$koneksi->connect_error());
    }
    
    ?>
    
  2. Selanjutnya buat file index.php untuk melakukan uji coba pencarian dan menampilkan hasil pencarian
    
    
    <?php
    include('koneksi.php');
    
    ?>
    <!DOCTYPE html>
    <html>
    <head>
     <title>Pencarian Data - Root93.co.id</title>
    </head>
    <body>
    
    
    <?php
    //proses validasi ketika terjadi permintaan pencarian
    $cari_err ="";
    if($_SERVER['REQUEST_METHOD']=='POST'){
     if(empty($_POST['cari'])){
      $cari_err="Masukan sebuah kata kunci untuk melakukan pencarian";
     }else{
      $cari=$koneksi->escape_string($_POST['cari']);
     }
     
    }
    
    ?>
    <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
     <input type="text" name="cari" size="50" placeholder="Masukan nama atau nis siswa yang ingin dicari">
     <br/>
     <span style="color: red;"><?php echo $cari_err; ?></span><br>
     <input type="submit" name="kirim" value="Cari"><br/>
    </form>
    <?php
    if(empty($cari_err)){
     if(!empty($cari)){
      $sql="SELECT id, nisn, nama FROM cari WHERE nama LIKE '$cari' OR nisn LIKE '$cari'";
      $perintah=$koneksi->query($sql);
      //jika data yang dicari > 0 atau ada maka tampilkan 
      if($perintah->num_rows>0){
       echo '
       <p>Menampilkan hasil pencarian untuk '.$cari.'
        <table width="500px" border="1">
        <tbody>
        <thead>
        <tr>
         <th>Nama</th>
         <th>Nisn</th>
        </tr>
       ';
       //kemudian lakukan perulangan
       while($row=$perintah->fetch_array()){
        echo '
    
        <tr>
        <td>'.$row['nama'].'</td>
        <td>'.$row['nisn'].'</td>
        </tr>
    
        ';
       }
       echo '
       </tbody>
       </table>
       ';
    
      }else{
       echo "Maaf data $cari  tidak bisa kami temukan";
      }
     }
    }
    ?>
    </body>
    </html>
    
Sampai disini proses pembuatan script untuk melakukan pencarian data di database mysql sudah selesai dibuat.

8 Responses to " Script PHP Untuk Cari Data di Database MySQL"

  1. Alamaakkk....recall masa lalu ini.
    Jadi inget perjuangan bikin TA.
    Dan akhirnya aku milih jadi sales saja hahahha

    ReplyDelete
  2. Hanya bisa menyimak, sekaligus memperhatikan kode-kode yang begitu masih aneh bagi saya.

    ReplyDelete
  3. Tutorial dalam YouTube saingan membantu untuk mengerti tentang PHP ini mas

    ReplyDelete
  4. Mas kalau untuk membuat tanggal setting otomatis posting itu bagaimana ya mas?

    ReplyDelete
    Replies
    1. Kalau setting otomatis posting kayak semacam di blog (nulis terus di publish pada tgl tertentu) mungkin bisa quernya berdasarkan date post yang diatur si usernya, jika tanggal belum terpenuhi maka status post disimpan tapi jika sudah terpenuhi status post di publikasi, mugnkin gitu sih logikanya,

      tapi kalau maksudnya otomatis menjalankan perintah eksekusi tertentu, mungkin kayak pake semacam cron job, tapi saya belum pernah nyoba kdua - duanya mas, masim minim pengalaman, hanya berimajinasi saja hahaha

      Delete
    2. nah ini main if if nya ini agak membingungkan wkwkw, soalnya saya menggunakan 3 kondisi, publish (langsung tayang), pending (artikel dari orang lain -> perlu verifikasi dari editor kalau mau tayang), dan yang ketiga itu draft (artikel yang disimpan, untuk di post otomatis sesuai tanggal yang udah di atur di artikelnya), cuma agak bingung gimana biar otomatis gitu, udah mainin di datepostnya tapi gagal terus..

      Saya kemarin ngakalinnya pake verifikasi, tapi harus diklik dulu baru fungsinya jalan, wkwkw.. bingung bingung..

      Delete
  5. samapi saat ini untuk kode script php, masih ribet saya belajarnya :D

    ReplyDelete
  6. Saya pernah nyontek yang kayak ginian untuk bikin kamus :)

    ReplyDelete

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin