Penambahan-penambahan yang saya lakukan :
Multiple Searching, dengan kata lain, user dapat melakukan searching dengan multiple keyword.
Bold dan Highlight pada setiap keyword yang dicari.
Seperti biasa, dalam tutorial kali ini, saya hanya menjelaskan sedikit saja, karena sebagian besar telah dijelaskan pada tutorial sebelumnya.
Tetapi sebelumnya, yang kita butuhkan adalah sebuah database :
create database cms_db;
use cms_db;
create table cms_artikel (id int(3) primary key auto_increment, judul_artikel varchar(100), penulis_artikel varchar(70), isi_artikel text);
insert into cms_artikel values('','Ryuzaki...','Al-k','Pada dasarnya ryuzaki itu tidak ganteng :D');
insert into cms_artikel values('','Sejati...','Al-k','Kegantengan sejati pemilik ketampanan ... ');
insert into cms_artikel values('','Kegantengan Sejati','Al-k','Begitulah, kadang orang melihat seseorang hanya dari penampilannya saja. Sebagian besar mengatakan, semuanya kan berawal dari penampilan, penampilan yang baik membuktikan yang berpenampilannya memiliki hati seperti itu. Padahalkan nggak kaya gitu, iya nggak ? Jujur aja, dalam hal ini gw sama kaya loe, termasuk orang yang berpenampilan apa adanya, yang ada ya gw pake, kalo yang nggak ada, gw nggak akan pake. to be continued !!!');
// file config.php
$host = "localhost";
$username = "root";
$password = "";
$databasename = "cms_db";
$connect = mysql_connect($host, $username, $password) or die ("Nggak bisa konek !");
mysql_select_db($databasename, $connect) or die("Nggak bisa konek !");
?>
// dan script inti, index.php
// Searching Multiple Keyword
// ///////////////////////////////
// by : Loka Dwiartara a.k.a Al-k
// alkemail@gmail.com
// http://www.ilmuwebsite.com
// ///////////////////////////////
include "config.php";
$mode = $_REQUEST['mode'] ;
$id = $_REQUEST['id'];
// menghilangkan space di kiri dan kanannya
$search = trim($_POST['search']);
// memisahkan array perkata
$search_array = explode(" ",$search);
$banyak_kata = (integer)count($search_array);
// query looping, sehingga menghasilkan
// select * from cms_artikel where isi_artikel
// like '%$search_array[$x]%' AND isi_artikel like '%%'
$searchquery = "select * from cms_artikel where " ;
for ( $x = 0; $x<= $banyak_kata; $x++)
{
$searchquery .= "isi_artikel like '%$search_array[$x]%'";
if ( $x < $banyak_kata )
{
$searchquery .= " AND ";
}
}
$runsearchquery = mysql_query($searchquery);
$viewquery = "select * from cms_artikel where id = '$id'";
$runviewquery = mysql_query($viewquery);
if ($mode == "search" )
{
$numrows = mysql_num_rows($runsearchquery);
// memberikan highlight dan bold pada string yang dicari
// dengan looping sebanyak $banyak_kata
print "String yang anda cari : ";
for ( $x = 0; $x<= $banyak_kata; $x++)
{
$search_replace[$x] = "
$search_array[$x]";
print "$search_replace[$x] ";
}
print "
Data yang anda cari, ada dalam database sebanyak : $numrows
" ;
while ( $result = mysql_fetch_array($runsearchquery))
{
$id = $result['id'];
$judul = $result['judul_artikel'] ;
$isi = $result['isi_artikel'];
// memberikan highlight dan bold pada setiap kata yang dicari
$isi_baru = str_replace($search_array, $search_replace, $isi);
$isi_display = substr($isi_baru, 0, 800);
$isi_display = substr($isi_baru, 0, strrpos($isi_display, " "));
print "$judul
$isi_display ...
";
}
print "
Kembali";
}
else if($mode == "view")
{
while ( $result = mysql_fetch_array($runviewquery))
{
$id = $result['id'];
$judul = $result['judul_artikel'] ;
$penulis = $result['penulis_artikel'];
$isi = $result['isi_artikel'];
print "$judul
Penulis : $penulis
$isi";
}
print "
Kembali";
}
else
{
?>
Search Database ...
No comments:
Post a Comment