Masalah Pencarian Tabel Berelasi

projack89 · Jul 25, 2012
Sore semua
Mau tanya nih
Ada masalah pada pencarian saya

Tabel Produk
d_produk *
Id_kategori **
Nama_produk
Deskripsi
Harga
Stok
Tanggal_masuk
Gambar
Proses_produksi

Tabel Kategori
Id_kategori *
Nama_kategori
Tampil_kategori
Alamat_halaman

pencarian.php
<div id="top-search">
<form action="hasil_pencarian.php" method="post">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="text" name="cari" value="Search" onblur="if (this.value=='') { this.value='Search'; }" onfocus="if (this.value=='Search') { this.value=''; }" class="top-search-inp" /></td>
<td>
<select class="styledselect" name="pencarian">
<option>-Pilih-</option>
<?
mysql_connect("localhost","root","");
mysql_select_db("nama_db_saya");
$tampil="select * from kategori where tampil_kategori='tampil' "; //$tampil="SELECT * FROM produk,kategori WHERE produk.id_kategori=kategori.id_kategori and kategori.tampil_kategori='tampil'"; $hasil = mysql_query($tampil); while($r=mysql_fetch_array($hasil))
{
echo"<option value=$r[id_kategori]>$r[nama_kategori]</option>"; }
?>
</select>
</td>
<td>
<input type="submit" value="Cari" name="submit">
</td>
</tr>
</table>
</form>
</div>

hasil_pencarian.php

<?php
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbDatabase = "nama_db_saya";

//connet to the database

$db = mysql_connect("$dbHost", "$dbUser", "$dbPass") or die ("I cannot connect to the database because: " . mysql_error());
mysql_select_db("$dbDatabase", $db) or die ("I cannot select the database '$dbname' because: " . mysql_error());

if (isset($_POST)) {
$cari = $_POST;
$pencarian = $_POST;

$sql="select * from produk,kategori where produk.id_kategori=kategori.id_kategori and produk.id_kategori LIKE '%$cari%'";
$result = mysql_query($sql) or die('Error, searching failed. ' . mysql_error());

if (mysql_num_rows($result) == 0) {
echo "<script>alert('Pencarian tidak ditemukan')</script>";
echo"<script>location='pencarian4.php'</script>";
} else {
echo '<p></p>';
while ($row = mysql_fetch_array($result)) {
echo"
$row[nama_produk]<br>
$row[harga]<br>
$row[stok]<br>
";
}
}
}
?>

Nah kira2 salah di mana tuh ya ??
Yang saya mau klo saya isi kata kunci maka akan muncul semua data yg berhubungan dari tabel produk
Udah 2 hari gak Solved
Kok hasil yg muncul data tidak ditemukan terus
Klo pencarian 1 tabel saya udah bisa tapi kalo berelasi kaya di atas masih bingung
Tolong bantuannya ya
Silahkan login untuk menjawab!
0
Loading...
Ellyx Christian · Jul 29, 2012 · 0 Suka · 0 Tidak Suka
tinggal ubah sql query dari

$sql="select * from produk,kategori where produk.id_kategori=kategori.id_kategori and produk.id_kategori LIKE '%$cari%'";

jadi

$sql="select * from produk where (id_product LIKE '%$cari%' or Nama_produk like '%$cari%' or Deskripsi like '%$cari%' or Harga like '%$cari%' or Stok like '%$cari%' or Tanggal_masuk like '%$cari%' or Proses_produksi like '%$cari%')";
if($pencarian){
$sql .= " and Id_kategori='$pencarian'";
}