【发布时间】:2012-03-20 07:06:42
【问题描述】:
我的产品数据库需要一个强大的搜索代码
我需要搜索出现在产品标题和描述中的关键字
当我们输入一个单词时,它应该列出句子中的单词和该单词之后的下一个单词。
谁能帮忙看看下面的代码
$sql="SELECT REPEAT (pr_name,1) AS names, REPEAT (pr_description, 1) AS pdes, REPEAT ('pr',1) AS lity FROM products WHERE pr_name like '%".$searchq."%' OR pr_description like '%".$searchq."%'".$qrtxt1." UNION SELECT REPEAT (sr_title, 1) AS names, REPEAT (sr_description, 1) AS pdes, REPEAT ('ser',1) AS lity FROM services WHERE sr_title like '%".$searchq."%' OR sr_description like '%".$searchq."%'".$qrtxt2." ORDER BY names LIMIT 10";
$result = mysql_query($sql);
echo "<ul class='livelist'>";
while($row = mysql_fetch_array($result))
{
$restext1='';
$restext2='';
$restext1= magicWords($searchq, $row['names']);
$restext2= magicWords($searchq, $row['pdes']);
if(!empty($restext1))
{
$wrappedtext1=wordwrap($restext1);
echo "<li id=".$row['lity']." onclick='clearlist(this.innerHTML,this.id)'>".substr($wrappedtext1, 0, strpos($wrappedtext1, "\n"))."<li>";
}
if(!empty($restext2))
{
$wrappedtext2=wordwrap($restext2);
echo "<li id=".$row['lity']." onclick='clearlist(this.innerHTML,this.id)'>".substr($wrappedtext2, 0, strpos($wrappedtext2, "\n"))."<li>";
}
}
echo "</ul>";
【问题讨论】:
-
tip:你应该看看 jQuery AutoSuggest 插件 (code.drewwilson.com/entry/autosuggest-jquery-plugin) 或 jQuery AutoComplete 插件 (jqueryui.com/demos/autocomplete)
标签: php search autosuggest keyword