Forum Moderators: coopster
1. Seperate each keyword by a space and build a search string:
$keywords = explode(" ", $text);if (!empty($keywords))
{for ($i=0; $i<count($keywords); $i++)
{if ($i)
{
$search_string .= "OR field LIKE '%" . $keywords[$i] . "%'";
}
else
{
$search_string .= "field LIKE '%" . $keywords[$i] . "%'";
}$search_terms = "WHERE (" . $search_string . ")";
}
else
{
echo "Please enter some keywords!";
}
2. Query your database
$query = "SELECT FROM table $search_terms";
$result = mysql_query($query) or die(mysql_error());
$sql = "SELECT * FROM productcatalog_products, productcatalog_category
WHERE productcatalog_products.product_category = productcatalog_category.category_id
AND product_description LIKE '%$keywords%' OR product_title LIKE '%$keywords%' OR product_manufacturer LIKE '%$keywords%'
GROUP BY 'product_number'";
$mysql_result=mysql_query($sql, $connection);
$num_rows=mysql_num_rows($mysql_result);if($num_rows==0)
{
echo"No Such Product In Our Database!";
}
else
{
while($row=mysql_fetch_array($mysql_result))
{
$product_title = $row["product_title"];
$product_manufacturer = $row["product_manufacturer"];
$product_price = $row["product_price"];
$product_category = $row["product_category"];
$product_image = $row["product_image"];
$category_name = $row["category_name"];
}
}
for ($i=0; $i<count($keywords); $i++)
{if ($i)
{
$search_string .= "OR product_description LIKE '%" . $keywords[$i] . "%' OR product_title LIKE '%" . $keywords[$i] . "%' OR product_manufacturer LIKE '%" . $keywords[$i] . "%' ";
}
else
{
$search_string .= "product_description LIKE '%" . $keywords[$i] . "%' OR product_title LIKE '%" . $keywords[$i] . "%' OR product_manufacturer LIKE '%" . $keywords[$i] . "%' ";
}$search_terms = "WHERE productcatalog_products.product_category = productcatalog_category.category_id AND (" . $search_string . ")";
Then:
$sql = "SELECT * FROM productcatalog_products, productcatalog_category
$search_terms GROUP BY 'product_number'";
Think that should work ok.
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\Apache Group\Apache2\htdocs\FYP\search_result.php on line 28
I think it has to do with this.
$sql = "SELECT * FROM productcatalog_products, productcatalog_category WHERE productcatalog_products.product_category = productcatalog_category.category_id AND " .$search_string. " GROUP BY 'product_number'";
$mysql_result = mysql_query($sql, $connection);
$num_rows = mysql_num_rows($mysql_result);