我還沒有找到答案,也許我忽略了它,但這是一個非常簡單的問題:PHP MySQL的搜索查詢 - 如何找到導致像「我的搜索」搜索「MYSEARCH」的時候?
我有一個Joomla/Virtuemart的搜索模塊,並且我有1個搜索結果產生的問題通過這個模塊。
當我輸入此搜索詞「mysearch」時,我希望它找到所有包含搜索查詢一部分的詞的結果,例如,標題:「這是我的搜索」或「多好的搜索」
如何做到這一點與MySQL?
這是我的工作代碼:
$ab = explode(' ', $keyword);
$ccc='';
$ccc2='';
foreach ($ab as $k)
{
if (!empty($k))
{
if($ccc==''){
$ccc.= " concat(product_name, customtitle) RLIKE '".$db->getEscaped($k)."' AND";
}
else{
$ccc.= " concat(product_name, customtitle) RLIKE '".$db->getEscaped($k)."' AND";
}
if($ccc2==''){
$ccc2.= " product_sku RLIKE '".$db->getEscaped($k)."' AND";
}
else{
$ccc2.= " product_sku RLIKE '".$db->getEscaped($k)."' AND";
}
}
else {
$ccc2.= " product_sku RLIKE '0' AND";
$ccc.= " concat(product_name, customtitle) RLIKE '0' AND";
}
}
$ccc = rtrim($ccc, "AND");
$ccc2 = rtrim($ccc2, "AND");
$q ="(SELECT p.virtuemart_product_id, l.product_name
from #__virtuemart_products p join
#__virtuemart_products_".VMLANG." l
on p.virtuemart_product_id = l.virtuemart_product_id
WHERE ".$ccc." AND
p.published = '1'
LIMIT 0,".$prods."
)
union (select p.virtuemart_product_id, l.product_name
from #__virtuemart_products p join
#__virtuemart_products_".VMLANG." l
on p.virtuemart_product_id = l.virtuemart_product_id
where ".$ccc2." and
p.published = '1'
LIMIT 0,".$prods.")";
謝謝,這是我所擔心的。我會研究你發佈的鏈接,也許我可以使用其中一些庫。 – GeniusDesign