同时搜索多个表

时间:2012-05-14 06:51:37

标签: php mysql search

我正在尝试为我的网站编写搜索脚本。而且我有两个问题需要解决。

1)在用户在搜索框中输入句子的情况下,我该如何处理?我应该继续把它当作一个字符串并在我想要的表中搜索它吗?如果我不这样做会影响网站的有效性。大部分时间都没有结果......

2)如果我要在几个表中搜索,我怎么能实现这个目标。

感谢您的时间和耐心。

示例:

假设我的数据库中有以下表格

 about Table 
     about_id
     about_head
     about_content
     about_tags
     about_created


 about_cs Table 
     about_cs_id
     about_cs_head
     about_cs_content
     about_cs_tags
     about_cs_created


 home Table 
     home_id
     home_head
     home_content
     home_tags
     home_created

我打算为用户提供不同的搜索条件。

按日期搜索:(日期选择器...将根据特定文章的创建日期查询日期。在所有表格中)

按标签搜索:(单个(一个或两个)单词搜索,搜索所有带有标记列的表格)

搜索主文章:(这是允许用户输入任何类型的搜索查询(字符串)的地方,并且将在其中包含内容字段的所有表中搜索)

因此,如果用户输入“南弯中最着名的教堂”这样的词...... 我只是搜索整个字符串

   LIKE % ' .$searchString. ' % 

或者有没有办法可以将其分解并单独搜索每个单词?

1 个答案:

答案 0 :(得分:0)

信息不够清晰。我假设你需要网站搜索。

在这种情况下,我建议你使用php lucene implementation Zend_Lucene

<强> [编辑]
由于你必须搜索很少的表,我建议你去全文搜索。 这是继续前进的非常好的教程。 http://devzone.zend.com/26/using-mysql-full-text-searching/