2012-04-09 2 views
4

Я создаю поиск каталогов LDAP с использованием PHP, и мы используем 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

+0

Я просмотрел его, но я не смог найти документацию для этой конкретной функции. Кроме того, я пытаюсь сортировать результаты через LDAP-запросы, если не могу найти способ сделать это через LDAP-запросы, тогда я прибегну к сортировке через PHP. – samwell

ответ

2

Клиентские приложения LDAP, которые требуют, чтобы результаты поисковых запросов заказывались в повторяемом формате , должны использовать server-side sort extension. В большинстве случаев использование расширения на стороне сервера требует, чтобы кодер приложения информировал администраторов каталогов , чтобы можно было настроить правильную индексацию.

+0

SOrry Возможно, мне что-то не хватает, но как это может помочь в моем вопросе о сортировке результатов LDAP с помощью запросов LDAP? – samwell

+0

Это не так. Это не простые постраничные результаты, а [расширение на стороне сервера] (http://tools.ietf.org/html/rfc2891). Извините за путаницу. –

+0

Все хорошо, спасибо за помощь. – samwell

0

Насколько я знаю, нет способа сортировать результаты с помощью фильтра LDAP. Весь фильтр делает, ограничивает, какие записи возвращаются.

С PHP, вы бы запустить поиск, а затем отсортировать результаты с http://us3.php.net/manual/en/function.ldap-sort.php

В качестве альтернативы, вы можете прочитать все записи в массив, а затем запустить один из других сортировочных функций РНР на них. http://us1.php.net/manual/en/array.sorting.php

Смежные вопросы