2012-12-31 106 views
0

我想使用狮身人面像(PHP)按价格排序显示,但当我这样做时,它会显示£1.75之前£10,所以我需要像在mySQL中使用ABS。狮身人面像SetSortMode EXPR

我已经试过这样:

$ S->个SetSortMode(SPH_SORT_EXPR, “ABS(DISPLAY_PRICE)ASC”);

虽然它似乎没有工作。

任何人都可以帮忙吗?

回答

1

SPH_SORT_EXPR总是降序排列。 ASC/DESC仅用于EXTENDED模式。

要'反转'它变成acsending,可以将它构建到表达式中。

$s->SetSortMode (SPH_SORT_EXPR, "1000000-CEIL(ABS(display_price*100.0))"); 
2

检查,如果DISPLAY_PRICE属性为十进制的搜索索引处理

也许你有

sql_attr_string = DISPLAY_PRICE

代替3210 sql_attr_float = DISPLAY_PRICE

sql_attr_bigint = DISPLAY_PRICE

  • 更新
+0

斯芬克斯不具有sql_attr_decimal属性类型。 – barryhunter

+1

是的,你说得对。更新 – pkhlop