2011-08-17 42 views
0

如果在数据库中的单词nice car, nice, nice, nice car和我们搜索词nice:如何ORDER BY(上市)的,如:nice, nice, nice car, nice car,或者搜索词nice carORDER BY(上市),如:nice car, nice car, nice, nice通过结果搜索命令?

  • 词语的数据库:nice carnicenicenice car
  • 好的=>nicenicenice carnice car
  • 好车=>nice carnice carnicenice

我的查询:

$find = $this->input->post('find'); 
    $where = "name LIKE '%$find%' OR 
      star LIKE '%$find%' OR 
      address LIKE '%$find%'"; 
$query = $data['results'] = $this->db->query("SELECT @rownum:[email protected]+1 rownum, t.* 
     FROM (
     SELECT * 
     FROM my_table 
     WHERE 
      $where 
     ORDER BY id desc 
     LIMIT $offset, $coun_page  
     ) t, 
     (SELECT @rownum:=0) r"); 
+0

如果你搜索单词'nice car',select语句将不会返回任何'很好'的记录 – Andrey

回答

5

MySQL不是一个搜索引擎。我强烈推荐使用实际用于此任务的东西(例如Sphinx,Solr或Lucene)。

+0

'Sphinx,Solr或Lucene' - >这是什么?请给我进一步解释,并举例 –

+2

转到浏览器的地址栏并输入“www.google.com”,然后在屏幕中间出现一个魔术盒。在那里输入'Solr'并点击搜索。技术今天能做什么是令人惊讶的。 – MatBailie

+0

有没有其他办法? –