Cara membuat pencarian multi table manual pada database mysql dengan php

Assalamu alaikum nwr wb ?

Artikel sebelum nya yang berkaitan, tentang cara Membuat pencarian data lebih dari satu table pada database dengan php script telah saya tulis, hanya saja sekarang metode nya sedikit berbeda dengan artikel tersebut. Kalo pada tutorial sebelum nya menggunakan beberapa Query Mysql untuk satu pencarian data pada table-table database, sekarang beda nya hanya menggunakan satu Query saja untuk pencarian data pada table-table database.

IKLAN:


Mungkin dari kedua artikel yang saya tulis ini, anda dapat menyimpulkan atau mungkin menggabungkan ke dua metode tersebut untuk membuat applikasi website yang profesional, semoga...!

Baiklah, sekarang kita membuat contoh database nya terlebih dahulu, agar lebih mudah untuk pengolahan data nya, saya sarankan menggunakan phpMyAdmin, silahkan lihat contoh table-table yang telah saya buatkan untuk contoh nya :

 Membuat table1, dan table2 beserta contoh isi data nya :

CREATE TABLE `table1` (
  `id` int(11) NOT NULL auto_increment,
  `field1` varchar(500) NOT NULL,
  `field2` varchar(500) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

CREATE TABLE `table2` (
  `id` int(11) NOT NULL auto_increment,
  `field1` varchar(500) NOT NULL,
  `field2` varchar(500) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

INSERT INTO `table1` VALUES (1, 'Hidup ini penuh dengan cobaan jadi jalanilah dengan penuh kebaikan', 'Hal yang mengakibatkan orang kecanduan roko adalah akibat dari coba-coba');
INSERT INTO `table2` VALUES (1, 'Anda bisa pintar itu akibat dari kebiasaan menghapal', 'Jangan ragu untuk bertanya jika anda masih ada yang belum mengerti');

Setelah anda membuat database berikut table-table nya seperti di atas, buatlah terlebih dahulu koneksi nya ke database, silahkan lihat file koneksi.php di bawah ini :

File koneksi.php
<?php
$dbhost = 'localhost'; //server hosting
$dbuser = 'root'; //username mysql biasanya root
$dbpass = 'password'; //password mysql
$dbname = 'pencarian'; //nama database yang di buat
mysql_connect("$dbhost","$dbuser","$dbpass"); //koneksi ke mysql
mysql_select_db("$dbname") or error(mysql_error()); //memilih nama database
?>
Setelah itu, buat lah sebuah Form Pencarian terlebih dahulu, kurang lebih seperti contoh file form.php di bawah ini :

<form name="cari" action="hasil.php" method="post">
Form Pencarian :
  <input type="text" name="keyword" value="Keyword nya..." /><br>
Table : <select name="table">
<option value="table1">Pada Table 1</option>
<option value="table2">Pada Table 2</option>
</select><br>
Field : <select name="field">
<option value="field1">Pada Field 1</option>
<option value="field2">Pada Field 2</option>
</select>
<input type="submit" name="submit" value="GO!" />
</form>

ScreenShoot Form :


Kemudian data Form tersebut akan di kirim via post untuk di proses oleh file hasil.php dan nantinya akan menampilkan hasil pencarian oleh hasil.php :
<?php
include "koneksi.php";
$keyword = $_POST['keyword'];
$table = $_POST['table'];
$field = $_POST['field'];
$sql = mysql_query("SELECT * FROM ".$table." WHERE ".$field." LIKE '%$keyword%' ORDER BY id LIMIT 20");
$jumlah = mysql_num_rows($sql);
if ($jumlah > 0){
echo "Pencarian $keyword, mendapatkan $jumlah hasil.";
echo "<table>";
 while ($data = mysql_fetch_array($sql))
 {
 $id = $data['id'];
 $detail = $data[$field];
 echo "<tr><td>$id</td><td>$detail</td></tr>";
 }
 echo "</table>";
 }else{
 echo "Tidak mendapatkan hasil dari pencarian <b>$keyword</b>, dari table <b>$table</b>.
 << <a href=javascript:history.back()>Kembali</a>";
 }
?>
IKLAN:


Silahkan tes kode di atas pada hosting Lokal komputer Anda, semoga tulisan singkat ini bermanfaat, Thank's telah berkunjung... Jangan ragu untuk menanyakan sesuatu, atau sekedar ingin menyapa, silahkan isi komentar pada form komentar di bawah!

Posting Komentar

4 Komentar