2012-10-01 42 views
0

我有2个视图与CI:标题和内容。使用CodeIgniter进行实时搜索?

在我的控制器中,我加载我的头文件,执行查询,然后将其加载到控制器中。这正在带回我的所有内容。

但是,我的标题中有一个搜索栏,我希望它执行的是用户输入时,我希望它在输入时过滤页面上的内容。

有没有办法做到这一点,而不经常执行数据库查询?

回答

1

是的,你做一个数据库查询并缓存所有的结果,然后使用自动完成来查询你的缓存存储。根据可搜索的内容,这可能或可能不可行。如果您有一个拥有数百万条记录的巨型数据集,那么依靠像Memcached这样的数据库缓存会更有意义 - 如果您要搜索地理位置或类似的东西,则可能需要依靠对Solr实例的Ajax API调用。

+0

谢谢。我假设你的意思是通过http://codeigniter.com/user_guide/database/caching.html – K20GH

+0

如果是这样,我是否需要改变任何东西?在页面加载上运行的查询是“SELET * FROM Tbl”。如果该查询被缓存,是否意味着重新加载时它会自动使用缓存? – K20GH

+0

否 - 当您使用数据库缓存时,您仍然连接到数据库。对于自动完成搜索过滤器,您希望进行一次查询并将结果缓存为JSON对象,然后使用自动完成JS来简单搜索本地JSON的内容。 – AlienWebguy