Ilmu yang bermanfaat adalah ilmu yang dibagikan kepada orang yang membutuhkanya

Membuat Searching (Skrip Pencarian Data)

Searching atau pencarian data merupakan hal penting dalam sebuah aplikasi, apalagi aplikasi yang menangani data yang banyak. Ada dua tipe searching yaitu: Quick Search dan Advanced Search. Quick search adalah pencarian sederhana seperti google search, pengguna hanya memasukkan sebuah kata kunci dari apa yang dicarinya. Sedangkan Advanced search adalah pencarian lanjut yang lebih kompleks dengan beberapa kriteria pencarian, yang memungkinkan hasil pencarian yang lebih akurat.
Sebelum membuat script seaching ada baiknya untuk mempelajari dasar untuk menampilkan data. Pada tutorial ini akan digunakan sebuah tabel siswa seperti berikut:
Fieldname Tipe Data Keterangan
idint(11)primary key
namavarchar(50)
ayahvarchar(50)
ibuvarchar(50)
alamattext

Searching biasanya menggunakan query "like", seperti:
  1. select * from nama_table where nama_field like '%cari%'  

hasilnya adalah semua data yang berisikan kata cari seperti "mencari", "pencarian".

Membuat Quick Search

Untuk membuat Quick Search gunakan skrip php di bawah:
  1. <!-- form quick search -->  
  2. <form name="form1" method="get" action="">  
  3. Search : <input type="text" name="q" id="q"/> <input type="submit" value="Search"/>  
  4. </form>  
  5. <!-- menampilkan hasil pencarian -->  
  6. <?php  
  7. if(isset($_GET['q']) && $_GET['q']){  
  8.     $conn = mysql_connect("localhost""root""");  
  9.     mysql_select_db("test");  
  10.     $q = $_GET['q'];  
  11.     $sql = "select * from siswa where nama like '%$q%' or   
  12.     ayah like '%$q%' or ibu like '%$q%' or alamat like '%$q%'";  
  13.     $result = mysql_query($sql);  
  14.     if(mysql_num_rows($result) > 0){  
  15.         ?>  
  16.         <table>  
  17.             <tr>  
  18.                 <td>Nama</td>  
  19.                 <td>Ayah</td>  
  20.                 <td>Ibu</td>  
  21.                 <td>Alamat</td>  
  22.             </tr>  
  23.             <?php  
  24.             while($siswa = mysql_fetch_array($result)){?>  
  25.             <tr>  
  26.                 <td><?php echo $siswa['nama'];?></td>  
  27.                 <td><?php echo $siswa['ayah'];?></td>  
  28.                 <td><?php echo $siswa['ibu'];?></td>  
  29.                 <td><?php echo $siswa['alamat'];?></td>  
  30.             </tr>  
  31.             <?php }?>  
  32.         </table>  
  33.         <?php  
  34.     }else{  
  35.         echo 'Data not found!';  
  36.     }  
  37. }  
  38. ?> 

Membuat Advanced Search

Gunakan skrip di bawah untuk membuat advanced search.

  1. <!-- form advanced search -->  
  2. <form name="form1" method="get" action="">  
  3. Nama : <input type="text" name="nama" id="nama"/> <br/>  
  4. Ayah : <input type="text" name="ayah" id="ayah"/> <br/>  
  5. Ibu : <input type="text" name="ibu" id="ibu"/> <br/>  
  6. Alamat : <input type="text" name="alamat" id="alamat"/>   
  7. <br/><input type="submit" value="Search" name="search"/>  
  8. </form>  
  9. <!-- menampilkan hasil pencarian -->  
  10. <?php  
  11. if(isset($_GET['search'])){  
  12.     $conn = mysql_connect("localhost""root""");  
  13.     mysql_select_db("test");  
  14.     $nama = $_GET['nama'];  
  15.     $ayah = $_GET['ayah'];  
  16.     $ibu = $_GET['ibu'];  
  17.     $alamat = $_GET['alamat'];  
  18.     $sql = "select * from siswa where nama like '%$nama%' and   
  19.     ayah like '%$ayah%' and ibu like '%$ibu%' and alamat like '%$alamat%'";  
  20.     $result = mysql_query($sql);  
  21.     if(mysql_num_rows($result) > 0){  
  22.         ?>  
  23.         <table>  
  24.             <tr>  
  25.                 <td>Nama</td>  
  26.                 <td>Ayah</td>  
  27.                 <td>Ibu</td>  
  28.                 <td>Alamat</td>  
  29.             </tr>  
  30.             <?php  
  31.             while($siswa = mysql_fetch_array($result)){?>  
  32.             <tr>  
  33.                 <td><?php echo $siswa['nama'];?></td>  
  34.                 <td><?php echo $siswa['ayah'];?></td>  
  35.                 <td><?php echo $siswa['ibu'];?></td>  
  36.                 <td><?php echo $siswa['alamat'];?></td>  
  37.             </tr>  
  38.             <?php }?>  
  39.         </table>  
  40.         <?php  
  41.     }else{  
  42.         echo 'Data not found!';   
  43.     }  
  44. }  
  45. ?>  

Perbedaan advanced search dengan quick search adalah: Quick search menggunakan operator "or" pada sql query, sedangkan Advanced search menggunakan operator "and" dengan beberapa kriteria pencarian, seperti nama, ayah, ibu, alamat.

Rangkuman


Ada dua tipe searching/pencarian data: Quick search dan Advanced Search. Quick search adalah pencarian sederhana hanya menggunakan satu kriteria pencaria. Advanced Search, pencarian lanjut yang lebih kompleks dengan beberapa kriteria pencarian. Advanced search memberikan hasil yang lebih akurat dibanding quick search.



Free Template Blogger collection template Hot Deals BERITA_wongANteng SEO theproperty-developer