我想使用狮身人面像(PHP)按价格排序显示,但当我这样做时,它会显示£1.75之前£10,所以我需要像在mySQL中使用ABS。狮身人面像SetSortMode EXPR
我已经试过这样:
$ S->个SetSortMode(SPH_SORT_EXPR, “ABS(DISPLAY_PRICE)ASC”);
虽然它似乎没有工作。
任何人都可以帮忙吗?
我想使用狮身人面像(PHP)按价格排序显示,但当我这样做时,它会显示£1.75之前£10,所以我需要像在mySQL中使用ABS。狮身人面像SetSortMode EXPR
我已经试过这样:
$ S->个SetSortMode(SPH_SORT_EXPR, “ABS(DISPLAY_PRICE)ASC”);
虽然它似乎没有工作。
任何人都可以帮忙吗?
SPH_SORT_EXPR总是降序排列。 ASC/DESC仅用于EXTENDED模式。
要'反转'它变成acsending,可以将它构建到表达式中。
$s->SetSortMode (SPH_SORT_EXPR, "1000000-CEIL(ABS(display_price*100.0))");
检查,如果DISPLAY_PRICE属性为十进制的搜索索引处理
也许你有
sql_attr_string = DISPLAY_PRICE
代替3210 sql_attr_float = DISPLAY_PRICE
或
sql_attr_bigint = DISPLAY_PRICE
斯芬克斯不具有sql_attr_decimal属性类型。 – barryhunter
是的,你说得对。更新 – pkhlop