www.gecko.web.id
   Resource Untuk Pengembang Web, PHP, CSS, MySQL, ajax.

   Home · Belajar PHP · Membuat Pencarian Sederhana dengan PHP dan MySQL

26
Sep ’08
Membuat Pencarian Sederhana dengan PHP dan MySQL

Kali ini kita akan mencoba pencarian sederhana dengan PHP. Pada pencarian ini kita akan mencari data yang ada di database mysql.

Yang dibahas di sini antara lain:

 

Baiklah langsung aja kita mulai.

Langkah pertama adalah membuat database yang akan kita cari nantinya. Untuk lebih mudahnya gw siapkan query yang tinggal diexecute di PHPMyadmin Anda.

Caranya:

  1. Buat database dengan nama pencarian
    membuat database mysql
  2. Kemudian klik SQL pada tab menu atas.
  3. Kemudian paste kode sql di atas.
    exekusi query mysql di phpmyadmin
  4. Maka jadilah database Anda
    database siswa yang sudah jadi

Langkah ke dua adalah menampilkan data. Kita buat menampilkan data dulu kemudian nanti kita modifikasi untuk menampilkan hasil pencarian.

  1. kita buat dulu folder cari di dalam folder www (apabila menggunakan appserv) atau di dalam folder htdocs (apabila menggunakan xamps)
  2. kemudian kita buat file php dengan nama tampil.php

    ini adalah script sederhana untuk menampilkan data. Nantinya kita ubah agar bisa menampilkan hasil pencarian
  3. Merubah script agar bisa menampilkan data tertentu.
    Di sini kita tinggal mengubag kode SQLnya. Kita bisa menggunakan LIKE diikuti kata yang ingin dicari. Dan diikuti kata yang dicari dan diberi tanda %.
    Contoh: apabila kita ingin menampilkan semua siswa yang berawalan huruf s maka kita buat seperti ini:

    Cukup mudah bukan? Mari kita lihat script selengkapnya:
  4. Yang tidak boleh dilupakan tentunya adalah form pencariannya.OK mari kita buat file dengan nama form_cari.htm
    Sebuah form sederhana ini nantinya digunakan untuk memasukkan kata yang hendak kita cari.
    Cermati kode berikut ini:
    Ini maksudnya pencarian akan dilakukan di file tampil.php yakni file yang kita buat sebelumnya.
  5. Form pencarian sudah OK. Kita tinggal tangkap variabel dari form_cari.php.
    Karena metode yang digunakan adalah POST kita bisa menangkap variabelnya dengan $_POST['search'];
    search di sini adalah id dari Text Field di form pencarian.
    Ini dia script yang udah kita modifikasi:
  6. Agar lebih simple kita bisa menjadikan 2 file (tampil.php dan form_cari.htm) menjadi satu file.
    Tapi kita juga harus memikirkan agar kode dieksekusi apabila tombol cari sudah dipencet. :D
    Tidak lucu apabila belum diapa-apain udah basah eh maaf, sudah mengeksekusi script. Yang ada hanyalah menampilkan halaman kosong atau lebih parah lagi menampilkan kode error.
    Maksud kode di atas adalah kode yang diantara kurung kurawal hanya akan dieksekusi jika $_POST['submit']sudah diklik dan apabila ($_POST['search'] sudah ada nilainya.
    Mari kita lihat script yang sudah jadi. dan ingat cukup satu file ini untuk menghandle pencarian.
    Perhatikan pula kode <?$_SERVER['PHP_SELF']?> yang semula adalah tampil.php. Kode diatas untuk mencegah adanya error apabila nama file diganti dan akan mengeksekusi dirinya sendiri.

Sedikit Tambahan.

Kita coba modif dikit kode diatas agar bisa menampilkan:

  1. Untuk nomor pencarian kita bisa menggunakan increement dengan kode sederhana berikut:
    Sangat mudah dan simple..
  2. Untuk jumlah pencarian kita bisa gunakan sedikit kode ini:
  3. Sedangkan untuk pesan zero data kita bisa bikin conditional seperti ini:

Kode lengkapnya seperti ini:

Gw rasa itu aja cukup untuk pencarian. Hal-hal yang perlu dilakukan agar pencarian menjadi lebih baik adalah:

  1. menambahkan fasilitas anti sql injection
  2. anti XSS atack. Tapi bisa nggak yah XSS attack lewat pencarian gini?
  3. pencarian multi kolom
  4. pencarian dengan OR ata AND
  5. dan lain lain

Download file: kode lengkap pencarian sederhana mysql dan php

 

Artikel yang sesuai:

Diskusikan Artikel Ini

* = required field

:

:

:





tiga ditambah dua sama dengan
(Sum of three and two)


 

 

 

 




ikrawan pada January 25, 2012 (7:47PM)
mantapp broo
musa pada January 24, 2012 (3:55PM)
bro...kalo data biar dibawahnya tetap tampil dalam tabel bagaimana ya ?
terserah pada January 20, 2012 (2:49PM)
menarik infonya good job
Ferdy pada January 15, 2012 (8:50PM)
good ngebantu orang biar jadi bisa... ^_^
thanks om...
putra pada November 30, 2011 (4:13PM)
manfat bos script pencariannnya
LiputanKami.com pada November 30, 2011 (3:24PM)
Untuk membuat pencarian multi kolom, bisa saya dapatkan dimana mas tutorialnya ?

saya udah berhasil pakai cara agan, tapi saya kok sedikit ada yang mengganjal kalo cuma ada 1 kolom aja searchnya..
LiputanKami.com pada November 30, 2011 (12:57PM)
Mas, kalo misal hasilnya biar muncul dalam bentuk tabel gitu bisa enggak yah.. ?

Sekitar 3 column.an gitu lah..
Gajah
Giliran Admin ngomong.. :D
gecko pada November 18, 2011 (8:25AM)
sorry bro karena fast coding ternyata ada code yg nggak optimal.
di xampp versi PHP 4 masih jalan sebenernya.

tapi untuk lebih bagusnya diganti seperti ini biar jalan di semua server:

echo $res[nama].'<br>';

jadi

echo $res['nama'].'<br>';


nama diapis sama quote. itu aja...

makasih
fiqar pada November 17, 2011 (11:49AM)
mas, sebelumnya ane terikasih sama tutorial yg mas buat, tetapi setelah saya ikuti cara yang mas berikan diatas, saya menemukan eror


" Ada 1 data yang sesuai.

Notice: Undefined variable: nomor in C:\xampp\htdocs\test_pdf\tampil.php on line 29
1.
Notice: Use of undefined constant nama - assumed 'nama' in C:\xampp\htdocs\test_pdf\tampil.php on line 30
Kyubi naruto "

mohon pencerahannya mas
Diwan pada November 6, 2011 (3:18AM)
Mas, kalau mau buat pencarian dgn multi kolom dan hasilnya ditampilkan dalam bentuk tabel, terus tiap hasil pencarianya bisa ditampilkan detil infonya gimana Mas? Misalnya pencarian berdasarkan provinsi, rentang usia, kemudian hasil pencariannya bisa ditampilkan detilnya satu-satu.
Maklum Mas, msh baru..
rahmad pada September 6, 2011 (11:45AM)
di pakai join dari SQL nya aja bang....itu bisa kayaknya..
yudha(19) pada September 5, 2011 (10:14PM)
adakah code lain dari WHILE untuk menampilkan semua isi dbSQL/
endah pada August 14, 2011 (10:51PM)
mau tanya gmn cara perulangan untuk mencari nilai probabilitas pada metode semut?? ada yang tau mhon petunjuknyaa...thanksss
tempuer pada July 20, 2011 (11:11AM)
gue mau nanya nihhh...
gue gagal masuk ke tampilan input ,,

gue selalu line di script login.php..

gimana sih caranya low itu berhasil kehalaman input???




jawab.
gapsky pada May 2, 2011 (8:08PM)
sip, mantap tutorialnya juragan,,
semoga bermanfaat buat yg lagi belajar php :D
ayhu pada March 11, 2011 (9:11PM)
maaf saya masih bingung dngan script untuk mencri data,dan sya udah buat script nya
dan ini script yg sya buat

<?php

session_start();

include "cek.php";
?>
<tr>
<td><?php include('frame_edp.php'); ?></td>
</tr>
<body BGCOLOR="#FFB6C1" TEXT="#00FFFF">
<br>
<br>
<?php
$username = $_SESSION['username'];
$keterangan= $_POST['keterangan']; //get the nama value from form
$q = "SELECT * from upload where keterangan like '%$search%' "; //query to get the search result
$result = mysql_query($q); //execute the query $q
echo $q;
echo "<h2 align='center'> Hasil Searching </h2>";
echo "<table border='1' cellpadding='5' cellspacing='8'>";
echo "
<tr bgcolor='#DC143C'>
<td>ID</td>
<td>Keterangan</td>
<td>Bagian</td>
<td>Tanggal</td>
<td>Data Arsip</td>
</tr>";
$conn=mysql_connect("localhost", "root", "admin");
mysql_select_db("dbname");
$sql="select * from upload";
$hasil=mysql_query($sql);
while ($data = mysql_fetch_array($result)) { //fetch the result from query into an array
echo "
<tr>
<td>".$data['id']."</td>
<td>".$data['keterangan']."</td>
<td>".$data['bagian']."</td>
<td>".$data['tanggal']."</td>
<td>".$data['name']."</td>
</tr>";
}
echo "</table>";
{
echo "Data tidak ada";
}
?>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>

<tr>
<td><?php include('footer.php'); ?></td>
</tr>

tlong coba cek script yg sya buat,,,
apa ada kslhan nya...?
Gajah
Giliran Admin ngomong.. :D
gecko pada February 28, 2011 (7:33PM)
@farhan: apakah databasenya sudah dibuat? tabelnya sudah? apakah nama tabel sesuai? apakah field nama di tabel tersebut udah ada?

lacak dari awalnya.
m farhan pada February 28, 2011 (7:11AM)
setelah di coba kok muncul pesan error spt ini :
Undefined variable: nomor in C:\xampp\htdocs\latihan\tampil.php on line 29
1.
Notice: Use of undefined constant nama - assumed 'nama' in C:\xampp\htdocs\latihan\tampil.php on line 30
knapa ya..
Ramlan Tjong Blog pada February 10, 2011 (3:10PM)
Bro gua mau tanya, cara nyimpan text database di xampp gimana sih?
ARI AZHARI pada February 6, 2011 (3:53AM)
WHAT THE PHP
ahmad pada December 20, 2010 (9:10AM)
thanks buat ilmunya...
zaky pada December 17, 2010 (8:51AM)
thnaks bro,,,,,

ijin kopas ke blog saya duniapajak.com
belajar php pada November 29, 2010 (5:15AM)
wah, kebetulan bangt nie aku lagi belajar php, jadi bisa buat tambah ilmu, makasih Gan udah berbagi ilmunya, gatis lagi, salam kenal.....
aziz pada October 15, 2010 (9:35AM)
sangat bermanfaat sekali kk source nya..ijin mempelajari..
pande pada August 28, 2010 (5:02AM)
WAHHHHHHHH.......setelah gua baca dari atas n lansung praktek / EXSEKUSI MATI.....wkakakk...

sempet ribet pas edit2 ..maklum gua awam....

yah...sempat eror dikit....terus baca eh.... sukses....dan yang lebih MACHO lagi udah baca sampai akhir ada bacaan

"Download file: kode lengkap pencarian sederhana mysql dan php"
wahhhh tau gitu lansung donlot toh...tapi tak apa...lumayan membaca menambah ilmu.
wkaakkaka keren2.....lansung gua donlot deh....

makasi ya mas....sumpah begunan banget buat gua... :D

salam dari bali
darwis pada August 5, 2010 (8:35PM)
gw hmpr putus asa buat bikin kode php untuk pencarian.
Mau coba yang sederhana dulu dari gecho.. mudah2 an berhasil.

Yang sudah2 kode php sudah bisa dieksekusi, database sudah connect, tapi gak muncul apa2 stlh dtekan tombol cari (layar blank aja warna putih). memang sih udah sukur ga ada pesan salah atau gagal di kode phpnya. kira2 apa yg salah kalau gitu?
aditya pada December 7, 2008 (3:08AM)
klo misalkan data yang ingin dipanggil lebih dari 1 table bagaimana? misalkan semua tabel menggunakan 1 ID seperti NIS? apa menggunakan SELECT nis from [nama tabel1],[nama tabel 2] where nis LIKE '$%search%'?
Harry pada November 6, 2008 (9:11AM)
lengkap banget tutornya, thanks bro

© 2008-2010 Eko Priyanto - www.gecko.web.id - Dapat dikopi secara bebas dengan mencantumkan sumber artikel.