ldap_control_paged_result_response
ldap_count_entries
Fonctions LDAP
PHP Manual

# ldap_control_paged_result

(PHP 5 >= 5.4.0)

ldap_control_paged_result — Envoi un contrôle de pagination LDAP

### Description

bool ldap_control_paged_result ( resource `$link` , int `$pagesize` [, bool `$iscritical` = false [, string `$cookie` = "" ]] )

Active la pagination LDAP en envoyant le contrôle de pagination (taille de la page, cookie,...).

### Liste de paramètres

`link`

  Un identifiant de lien LDAP, retourné par la fonction ldap_connect().

`pagesize`

  Le nombre d'entrées par page.

`iscritical`

  Indique si la pagination est critique ou non. Si vaut `TRUE`, et si le serveur ne supporte pas la pagination, la recherche ne retournera aucun résultat.

`cookie`

  Une structure opaque envoyée par le serveur ( ldap_control_paged_result_response()).

### Valeurs de retour

Cette fonction retourne `TRUE` en cas de succès ou `FALSE` si une erreur survient.

### Exemples

L'exemple ci-dessous montre la manière pour récupérer la première page d'une recherche paginée avec une seule entrée par page.

Exemple #1 Pagination LDAP

`<?php
// $ds est un identifiant de lien valide (voir ldap_connect)
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$dn = 'ou=example,dc=org';
$filter = '(|(sn=Doe*)(givenname=John*))';
$justthese = array('ou', 'sn', 'givenname', 'mail');
// active la pagination avec une taille de page à 1.
ldap_control_paged_result($ds, 1);
$sr = ldap_search($ds, $dn, $filter, $justthese);
$info = ldap_get_entries($ds, $sr);
echo $info['count'] . ' entrées retournées' . PHP_EOL;`

L'exemple ci-dessous montre la manière pour récupérer tous les résultats paginés avec 100 entrées par page.

Exemple #2 Pagination LDAP

`<?php
// $ds est un identifiant de lien valide (voir ldap_connect)
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$dn = 'ou=example,dc=org';
$filter = '(|(sn=Doe*)(givenname=John*))';
$justthese = array('ou', 'sn', 'givenname', 'mail');
// active la pagination avec une taille de page à 100.
$pageSize = 100;
$cookie = '';
do {
ldap_control_paged_result($ds, $pageSize, true, $cookie);
$result = ldap_search($ds, $dn, $filter, $justthese);
$entries = ldap_get_entries($ds, $result);
foreach ($entries as $e) {
echo $e['dn'] . PHP_EOL;
}
ldap_control_paged_result_response($ds, $result, $cookie);
} while($cookie !== null && $cookie != '');`

### Notes

> Note:

> Le contrôle de la pagination est une fonctionalité du protocole LDAPv3.

### Voir aussi

- ldap_control_paged_result_response() - Récupère le cookie de pagination LDAP
- » RFC2696 : Extension de contrôle LDAP pour une manipulation simplifiée des résultats paginés

ldap_control_paged_result_response
ldap_count_entries
Fonctions LDAP
PHP Manual