4

PHP を使用して LDAP ディレクトリ検索を作成しており、LDAP サーバーとして Novell を使用しています。結果を正常に検索して返すことができます。これは私が実行している現在のフィルターです(&(FERPA=N)(|(uid=*searchphrase*)(sn=*searchphrase*)(fullName=*searchphrase*)(telephoneNumber=*searchphrase*)))

姓または LDAP 変数でソートできるようにしたいと考えていますsn。PHPでソートすることもできますが、それは最後の手段にしたいと思います。列に基づいて結果を並べ替える方法はありますか。たとえば、SQL では、次のような列に基づいて並べ替えることがSELECT * FROM TABLE WHERE COL='criteria' ORDER BY COL;できます。LDAP クエリで実行できる同様のことはありますか?

4

2 に答える 2

3

検索要求の結果を繰り返し可能な方法で並べ替える必要があるLDAPクライアントアプリケーションは、サーバー側の並べ替え拡張機能を使用する必要があります。ほとんどの場合、サーバー側の並べ替え拡張機能を使用するには、アプリケーションコーダーがディレクトリ管理者に通知して、適切なインデックスを設定できるようにする必要があります。

于 2012-04-10T09:12:03.887 に答える
0

私の知る限り、LDAP フィルターを使用して結果を並べ替える方法はありません。フィルタが行うことは、返されるエントリを制限することだけです。

PHP では、検索を実行し、結果をhttp://us3.php.net/manual/en/function.ldap-sort.phpで並べ替えます。

または、すべてのエントリを配列に読み取ってから、php の他のソート関数のいずれかをそれらに対して実行することもできます。http://us1.php.net/manual/en/array.sorting.php

于 2012-11-02T22:43:37.933 に答える