【发布时间】:2011-07-14 06:18:42
【问题描述】:
我正在建立一个使用 PHP 和 MySQL 来复制(或非常相似)this site 的练习站点。截至目前,我的可搜索字段包括:租金(最小-最大)、租赁类型(任何、公寓、房屋)、卧室数量(任何、1+、2+、3+、4+)
到目前为止,我在整理代码方面没有遇到任何问题,我只是担心扩展问题并想知道什么是最佳实践。此外,任何关于如何复制我链接的网站上的“侧边栏过滤器搜索”的建议(eBay 也有非常相似的东西)都会很棒。
这是我遇到的岔路口:我是单独处理 MySQL 查询中的每个字段过滤器,还是调用表中的所有项目,然后在 PHP 中过滤它们?
$sql = "SELECT * FROM properties ";
$properties = Property::find_by_sql($sql);
$matched_properties = array();
foreach($properties as $property):
if ($min_rent <= $property->rent && $property->rent <= $max_rent) {
$matched_properties[] = $property;
}
endforeach;
上面的代码从 MySQL 中的“properties”表中提取所有内容,并创建一个 Property classes(基本 CRUD 类)数组。
抱歉,如果我听起来很混乱,但我的主要问题是 如何复制过滤后的搜索,例如 this site 或 eBay.com 上的搜索?我走在正确的道路上吗?
谢谢
【问题讨论】:
-
看起来你想建立自己的搜索引擎,但我建议你从已经存在的东西开始,比如 zend lucene framework.zend.com/manual/en/zend.search.lucene.html
-
实际上是你被击中的地方。你完成了正常的搜索吗
标签: php mysql filter input-filtering search-form