0

Sphinxでページネーション/ナビゲーションメニューを行う必要があります

*(記号の場合) 0 1 2 3 4 5 6 7 8 9 ABCDEFGHIJKLMNOPQRSTU VWXYZ

そして、結果をフィルタリングします。

「A」ページ - 「A」で始まる結果のみ

ありがとう

4

1 に答える 1

1

しかし、あなたがsphinxsearchを意味するなら、このようなもの

sql_query = SELECT id, name, ORD(IF(ORD(name) BETWEEN 48 AND 57 OR ORD(UPPER(name)) BETWEEN 65 AND 90, UPPER(SUBSTRING(name,0,1)), '*')) AS ord, ...
sql_attr_uint = ord 

名前の最初の文字を表す数値属性を提供します。setFilterと一緒に使用して、その値に一致する結果のみを返すことができます。

setGroupByと一緒に使用して、各序数に一致する結果の数を取得することもできます。

参照: http://www.asciitable.com/

--

追加する編集: 整数属性の使用 - attr str2ordinal (文字列属性でもありません!) はフィルタリングを許可するため、mysql ORD 関数を介して整数を取得します。このように自分自身を整数に変換すると、フィルタリングが可能になります。

たとえば、「A」の結果のみを取得するには、次のようにします。

$cl->setFilter('ord',array(ord('A'))); 

これは、php の ord 関数が mysql と同じように機能するためです。

于 2012-10-15T13:23:47.707 に答える