我正在尝试构建基于PHP的电子商务网站的分面搜索。使用GET
方法构建过滤器使得代码非常复杂,因为该网站有许多过滤器。有人可以给一些教程或一些更好的方式来建立一个多面搜索?一些可以帮助我在PHP中实施分面搜索
我想过使用Sphinx实现多面搜索,但我是狮身人面像的新手。客户拒绝了狮身人面像(我不知道为什么)。我能够使用Sphinx建立基本搜索,但不知道如何继续进行分面搜索。如果有人能够提供一些关于狮身人面像的教程,那将是非常棒的,因为我可能试图在实施使用它之后说服客户。时间是一个主要因素,因为我必须在一天内实施分面搜索。
$urlstring = '';
$urlstring = rmParamQS('category');
$urlstring = rmParamQS('brand', $urlstring);
代码,将添加新的查询字符串,例如类别或品牌,将上述功能
$url = 'http://' . $_SERVER['SERVER_NAME'].'?page='.$page.$urlstring;
$categoryGet = (isset($_GET['category']))?$_GET['category']:NULL;
$categoryQS = '&category='.$categoryGet;
$brandGet = (isset($_GET['brand']))?$_GET['brand']:NULL;
$brandQS = '&brand='.$brandGet;
$categories = categories_list($brandGet);
echo '<ul id="categories">';
list all categories using foreach with link in following format
echo '<a href="'.$url.'&category='.$category["category_id"].'">'
echo '</ul>';
$brands = brands_list($categoryGet);
echo '<ul id="brands">';
list all brands using foreach with link in following format
echo '<a href="'.$url.'&brand='.$brand["brand_id"].'">'
echo '</ul>';
就像种类和品牌我有五个以上的过滤器删除现有的查询字符串。 rmParamQS函数将从$ url中删除相应的查询字符串。 categories_list和brands_list函数将根据查询字符串中的id筛选其他筛选器的url中的数据
如果客户端强烈拒绝它,你可能不应该使用Sphinx – Don 2012-08-10 16:42:50
实际上客户端已经因时间限制而拒绝了 – user434509 2012-08-10 19:02:11
那么为什么你要求Sphinx教程呢? – Don 2012-08-10 19:05:40