2012-04-09 209 views
4

我使用PHP创建LDAP目录搜索,我们使用Novell作为我们的LDAP服务器。我能够成功搜索并返回结果;这是我正在运行的当前过滤器,(&(FERPA=N)(|(uid=*searchphrase*)(sn=*searchphrase*)(fullName=*searchphrase*)(telephoneNumber=*searchphrase*)))如何使用LDAP查询对LDAP结果进行排序?

我希望能够按姓氏或LDAP变量sn排序。我可以通过PHP对其进行排序,但我希望这是最后的手段。有没有办法根据列对结果进行排序?例如,在SQL中,您可以基于这样的列进行排序,SELECT * FROM TABLE WHERE COL='criteria' ORDER BY COL;是否可以使用LDAP查询做类似的事情?

+1

只是想知道你是否知道这个ldap_sort函数(http://www.php.net/manual/en/function.ldap-sort.php)。 – Neal 2012-04-10 09:45:11

+0

我已经看过它,但我无法找到该特定功能的文档。另外,我试图通过LDAP查询对结果进行排序,如果我不能通过LDAP查询找出方法,那么我将通过PHP进行排序。 – samwell 2012-04-11 19:06:03

回答

2

要求搜索请求的结果以可重复的 方式进行排序的LDAP客户端应用程序应使用server-side sort extension。在大多数 的情况下,使用服务器端分类扩展需要应用程序编码器通知 目录管理员,以便可以设置正确的索引。

+0

SOrry我可能会丢失一些东西,但是这对我通过LDAP查询对LDAP结果进行排序有何帮助? – samwell 2012-04-11 19:06:59

+0

它不。这不是简单的分页结果,而是[服务器端排序扩展](http://tools.ietf.org/html/rfc2891)。对困惑感到抱歉。 – 2012-04-11 19:10:22

+0

这一切都很好,谢谢你的帮助。 – samwell 2012-04-11 19:16:02