membuat searching pada PHP

Assalamualaikum warahmatullah hi wabarakatuh.
Bismillahirrohmaanirrohiim,

sebelum memulai membaca dan mempraktekkan tutorial saya tentang membuat searching dengan php kali ini,
siapkan dulu kopi 2 gelas.
musik-musik kesayangan loe,putar sekeras-kerasnya sampai tetangga pada marah-marah kzzkzk :D

okey, sekarang waktunya untuk memulainnya \(^o^)/...
searching?. apa itu searching? apa fungsinya? bgaimana cara buatnya?. :D .sabar-sabar, kalo nanya itu satu-satu.. :p. Searching dalam bahasa inggris artinya mencari, mencari apa? ya sesuatu yang bisa dicari. hehehe.. fungsinya adlah untuk memeudahkan kita dalam menemukan sesuatu yang ingin kita cari misalnya kata, kalimat, atau judul posting. asal jangan nyari uang yang hilang.. pasti gak ketemu dehhhhhhh....
cara membuatnya, ikuti langkah-langkah dibawah ini.

,saya asumsikan bahwa anda sudah memahami apa itu database dan php.. database yang akan kita gunakan adalah mysql.
sekarang kita buat data base nya terlebih dahulu misalnya dikasih nama dbcari
selanjutnya buat tabelnya misalnya table berita berikut sintaksnya

create database dbcari;
create table berita ( id_berita int(5) auto_increment primary key not null, judul_berita varchar(50),isi_berita text);
insert into berita(judul_berita,isi_berita) values("mari belajar","belajar adalah sebuah kebiasaan yang sangat baik looohhh"),("belajar php","ini hanya sebuah contoh singkat tentang bagaimana membuat menu searching"),("indonesia","indonesia adalah negara yang kaya akan sumber daya alam");

selanjutnya setelah database telah dibuat mari kita membuat koneksi antara php dan mysql, sehingga data yang tersimpan didalam tabel tadi dapat diakses.

<?php
$server="localhost";
$username="root";
$password="root";
$database="dbcari";
$conect = mysql_connect($server,$username,$password)or die("server tidak ditemukan");
$pilih_db = mysql_select_db($database)or die("database tidak ada");
?>

simpan dengan nama koneksi.php

langkah berikutnya adalah membuat form input kata....

<html>
<head><title>Membuat fungsi searching</title>
</head>
</html>
<form action="" method="post">
masukan kata yang hendak dicari<br>
<input type="text" name="kata"><input type="submit" name="cari" value="cari">
</form>
<?php
include "cari.php";
?>

simpan dengan nama index.php

Hmm,,,,,,, jika kesua langkah diatas sudah dilakukan maka selanjutnya membuat script untuk mencarinya,

<?php
include "koneksi.php";
$kata=$_POST['kata'];
if(isset($_POST['cari'])){
$query=mysql_query("select * from berita where judul_berita like '%$kata%' or isi_berita like '%$kata'");
$jumlah=mysql_num_rows($query);
if($jumlah>0){
echo "ditemukan data dengan keyword $kata sejumlah $jumlah data<br>";
while($row=mysql_fetch_array($query)){
echo "<a href=detail_berita.php?id=$row[id_berita]>$row[judul_berita]</a>";
}
}
else{
echo "tidak ditemukan berita dengan kata $kata";
}
}
?>

simpan dengan nama cari.php

langkah terakhir dalah membuat detail berita, jadi ketika hasil pencarian diklik, akan langsung menuju berita yang dicari tersebut...heheheh

<?php
include "koneksi.php";
$id=$_GET['id'];
$query=mysql_query("select * from berita where id_berita='$id'");
$a=mysql_fetch_array($query);
echo "<b>$a[judul_berita] </b><br> $a[isi_berita]";
echo "<br>[<a href=javascript:history.go(-1)>Kembali</a> ]";
?>

simpan dengan nama detail.php

silahkan sekarang kita jalankan script tersebut dibrowser kesayangan anda..D
semoga tutorial ini bermanfaat... jangan lupa untuk meninggalkan komentar.....

silahkan filenya bisa didownload disini modul searching - Indowebster.com Size: 1.83 KB. password=oxy27
originally by aguswaluyo
terima kasih buat 'Rod' yang telah menemani walau hanya via sms...hiks,hiks,hiks ...ToT

6 comments:

cimutsireng said...

mas, lha kalo tabele banyak gimana?
ada 8 lho tabele,
trus kalo mau di tampilin kayag punya'e mase, ndag form sendiri gimana?
hayoh no. :)

agus waluyo said...

kalo semua tabelnya mememiliki hubungan, maka bisa di gabungkan dulu menggunakan join,sedangkan kalau tabelnya gak ada hubungannya satu sama lain bisa menggunakan fungsi if-else

<?php
include "koneksi.php";
$kata=$_POST['kata'];
if(isset($_POST['cari'])){
$query=mysql_query("select * from berita where judul_berita like '%$kata%' or isi_berita like '%$kata'");
$jumlah=mysql_num_rows($query);
if($jumlah>0){
echo "ditemukan data dengan keyword $kata sejumlah $jumlah data<br>";
while($row=mysql_fetch_array($query)){
echo "<a href=detail_berita.php?id=$row[id_berita]>$row[judul_berita]</a>";
}
}
else{$query=mysql_query("select * from tabel2 where judul_berita like '%$kata%' or isi_berita like '%$kata'");
$jumlah2=mysql_num_rows($query);
if($jumlah2>0){
echo "ditemukan data dengan keyword $kata sejumlah $jumlah data<br>";
while($row=mysql_fetch_array($query)){
echo "<a href=detail_berita.php?id=$row[id_berita]>$row[judul_berita]</a>";
}
}
else{
$query=mysql_query("select * from tabel3 where judul_berita like '%$kata%' or isi_berita like '%$kata'");
$jumlah3=mysql_num_rows($query);
if($jumlah3>0){
echo "ditemukan data dengan keyword $kata sejumlah $jumlah data<br>";
while($row=mysql_fetch_array($query)){
echo "<a href=detail_berita.php?id=$row[id_berita]>$row[judul_berita]</a>";
}
}
else{
echo "tidak ditemukan berita dengan kata $kata";
}
}
}
}
?>

dan seterusnya sampai ke 8, atau bisa juga memakai funsi switch-case tergantung kebutuhan.

Anonymous said...

bang, kalo misalnya pencarian dengan memakai combobox gmn?
trus tabelnya ada 10...

agus waluyo said...

Tinggal di formnya ditambahi combo box, misalnya
<select name="tabel">
<option value="mhs">mahsiswa</option>
<option value="dosen">dosen</option>
<option value="nilai">nilai</option>
</select>
nanti diquerynya bisa ditambahi jadi
<?php
include "koneksi.php";
$kata=$_POST['kata'];
$tabel=$_POST['tabel'];
if(isset($_POST['cari'])){
$query=mysql_query("select * from $tabel where judul_berita like '%$kata%' or isi_berita like '%$kata'");
$jumlah=mysql_num_rows($query);
if($jumlah>0){
echo "ditemukan data dengan keyword $kata sejumlah $jumlah data<br>";
while($row=mysql_fetch_array($query)){
echo "<a href=detail_berita.php?id=$row[id_berita]>$row[judul_berita]</a>";
}
}

--semoga membantu--

Unknown said...

gan ane mau tanya kalau mau ditambahin do{ bagaimana ya gan ane kok gagal melulu ya

fenhell.blogspot.com said...

Gan, mau tanya ini.. kalau saya ada kolom search sama pakai pagination jg..
Saya mnggunakan fungsi WHILE, dan fungsi tersebut hanya bisa menampung satu varibel, sedangkan saya ada 2 variabelyaitu variabel untuk search dan pagination..

Gimana ya cara kombinasi keduanya agar bisa keduanya berjalan bersamaan nih Gan ?
Thanks..