ldap_control_paged_result

(PHP 5 >= 5.4.0, PHP 7)

ldap_control_paged_resultEnviar el control de paginación LDAP

Descripción

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

Activa la paginación LDAP enviando el control de paginación (tamaño de página, cookie...).

Parámetros

link

Un identificador de enlace LDAP, devuelto por ldap_connect().

pagesize

El número de entradas por página.

iscritical

Indica si la paginación es crítica o no. Si es crítica y el servidor no soporta paginación, la búsqueda no devolverá ningún resultado.

cookie

Una estructura opaca enviada por el servidor (ldap_control_paged_result_response()).

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

El siguiente ejemplo muestra la recuperación de la primera página de una búsqueda paginada con una entrada por página.

Ejemplo #1 Paginación LDAP

<?php
     
// $ds es un identificador de enlace válido (véase ldap_connect)
     
ldap_set_option($dsLDAP_OPT_PROTOCOL_VERSION3);

     
$dn        'ou=example,dc=org';
     
$filter    '(|(sn=Fer*)(givenname=Juan*))';
     
$justthese = array('ou''sn''givenname''mail');

     
// activar la paginación con un tamaño de página de 1.
     
ldap_control_paged_result($ds1);

     
$sr ldap_search($ds$dn$filter$justthese);

     
$info ldap_get_entries($ds$sr);

     echo 
$info['count'] . ' entradas devueltas' PHP_EOL;

El siguiente ejemplo muestra la recuperación de todos los resultados paginados con 100 entradas por página.

Ejemplo #2 Paginación LDAP

<?php
     
// $ds es un identificador de enlace válido (véase ldap_connect)
     
ldap_set_option($dsLDAP_OPT_PROTOCOL_VERSION3);

     
$dn        'ou=example,dc=org';
     
$filter    '(|(sn=Fer*)(givenname=Juan*))';
     
$justthese = array('ou''sn''givenname''mail');

     
// activar la paginación con un tamaño de página de 100.
     
$pageSize 100;

     
$cookie '';
     do {
         
ldap_control_paged_result($ds$pageSizetrue$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 != '');

Notas

Nota:

El control de paginación es una característica del protocolo LDAPv3.