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:
Pencarian di database mysql sederhana
Pencarian dengan 1 file php
mencegah menampilkan data apabila tombol submit belum diklik
Menampilkan nomor pencarian
menampilkan jumlah hasil pencarian
menampilkan pesan apabila hasil pencarian tidak ditemukan
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:
Buat database dengan nama pencarian
Kemudian klik SQL pada tab menu atas.
Kemudian paste kode sql di atas.
Maka jadilah database Anda
Langkah ke dua adalah menampilkan data. Kita buat menampilkan data dulu kemudian nanti kita modifikasi untuk menampilkan hasil pencarian.
kita buat dulu folder cari di dalam folder www (apabila menggunakan appserv) atau di dalam folder htdocs (apabila menggunakan xamps)
kemudian kita buat file php dengan nama tampil.php
ini adalah script sederhana untuk menampilkan data. Nantinya kita ubah agar bisa menampilkan hasil pencarian
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:
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.
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:
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:
nomor pencarian
jumlah pencarian
pesan apabila tidak ada hasil pencarian
Untuk nomor pencarian kita bisa menggunakan increement dengan kode sederhana berikut:
Sangat mudah dan simple..
Untuk jumlah pencarian kita bisa gunakan sedikit kode ini:
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:
menambahkan fasilitas anti sql injection
anti XSS atack. Tapi bisa nggak yah XSS attack lewat pencarian gini?
thank's berat
bos,artikelnya sdh
aqyu coba, tapi
boleh dunk mr-wan
nanya, klo hasil
dari pencarian sdh
didapat, teerus
gimana agar hasil
tadi bisa link
kenama orang/artikel
td, tapi artikel
tetap berada di DB
MySQL.thank's
artikel² nya cukup
bagus dan bermanfaat
buat saya. rencana
sih saya ingin
terjun di jasa
webdesign karna
sepertinya sangat
menjanjikan. dan
saya melihat peluang
pada design web
untuk bisnis
multilevel yang
struktur databasenya
saya pikir cukup
banyak.
kalau saya butuh
bantuan pada kode
php dan database
apakah saya boleh
menghubungi anda?
Nice post.
ringkas dan
jelas..
dah saya coba
programnya..
wahid pada September 9, 2009 (12:16AM)
tutorial ini sangat
membantu..
yang ingin sy
tanyakan adalah:
Bagaimana jika hasil
pencarian masing -
masing data itu
mempunyai link
sendiri -
sendiri..
misalkan = pencarian
data buku
berdasarkan judul
dan setelah data
buku itu tampil dan
pengunjung ingin
membaca isi buku
itu.
maka dibutuhkan
links lagi untuk
halaman isi buku.
mohon penjelasan dan
scriptnya bagaimana,
terima kasih
najmakeysa pada August 30, 2009 (8:31PM)
thanks, br kali ini
sy dpt script
sederhana buat
search engine.
maaf mas kalo buat
script utk pencrian
data dan sekaligus
mengeditnya juga
gimana???
maaf pertanyaan
konyol
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%'?
Diskusikan Artikel Ini
* = required field