Aller au contenu

[php/ldap] affichage par ordre alphabetique


glibre

Sujets conseillés

bonjour,

je souhaite afficher sous forme d'annuaire telephonique,

les entrees de mon annuaire LDAP.

j'ai un script de recherche qui marche plutot bien,

mais je n'arrive pas a faire afficher les resultat par ordre alphabetique

une idée?

$person = $_POST["person"];
   $filtre="(|(cn=$person*)(sn=$person*)(telephonenumber=$person*)(o=$person*)(physicaldeliveryofficename=$person*))";
     $sr=ldap_search($conn,"dc=domain, dc=com", $filtre );  
     echo "Il y a <b>".ldap_count_entries($conn,$sr)."</b> résultat(s):";
     $info = ldap_get_entries($conn, $sr);
     for ($i=0; $i<$info["count"]; $i++) {
             echo "<pre>";
           echo "<b>". $info[$i]["cn"][0] ."</b>";

           echo "</pre>";
               }
     // echo "Fermeture de la connexion";
     ldap_close($conn);  
   }

merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Cela ne répondra pas tout à faire à ta question mais peut être un début de piste sur se site :

http://kdouri.topcities.com/i.php.htm

Il parle de php et ldap :)

Tu peux aussi trier ton tableau avec asort ou rsort :

http://www.nexen.net/docs/php/annotee/function.asort.php

http://www.nexen.net/docs/php/annotee/function.rsort.php

Portekoi

Modifié par portekoi
Lien vers le commentaire
Partager sur d’autres sites

Tu as aussi la fonction ldap_sort (pour php >= 4.2.0 et php 5)

bool ldap_sort ( resource link, resource result, string sortfilter )

La syntaxe doit être (à mon avis, vu que la fonction n'est pas documentée):

ldap_sort($link, $result, "cn")

Cela doit s'appeler (toujours à mon avis) avant le ldap_get_entries(...)

Lien vers le commentaire
Partager sur d’autres sites

re-- dan powa!

$filtre="(|[B](sn=$person*)[/B])";    
   $sr=ldap_search($conn,"dc=domaine, dc=com", $filtre );  
     echo "Il y a <b>".ldap_count_entries($conn,$sr)."</b> résultat(s): ";
   [B]ldap_sort($conn, $sr, "sn"); [/B]
   $info = ldap_get_entries($conn, $sr);

j'ai bien mes entrées classées par nom ;)

chtite question supplementaire :unsure:

comment faire en sorte de faire un tableau par lettre.

en faite, la requett ldap se ferai sur tout l'annuaire...

comment classer tout cela par lettre (comme un annu tel)

parceque la, je me vois mal faire une function recherche avec chaque lettre de l'alphab

en valeur $peron :wacko:

merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

re--

bon j'ai trouvé cela qui marche pas trop mal...

$alphabet = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
   foreach($alphabet as $lettres) {
       
   $sr=ldap_search($conn,"dc=brl, dc=fr", "sn=".$lettres."*");

etc..

y peut etre plus propre et optimisé... mais bon

merci pour votre aide :)

Lien vers le commentaire
Partager sur d’autres sites

lut Dan,

pour le classement par lettre, c'est bon maintenant... merci quand meme.

j'en suis a chercher une solution pour generer un fichier static

pour ne pas que mes users fassent tous en meme temps un affichage de mon LDAP ....

500 users faisant afficher mes 700 entrees ldap d'un coup, mon serveur va faire la tronche :P

Lien vers le commentaire
Partager sur d’autres sites

J'ai vu ton autre post, c'est pour cela que je ne répondrai pas ici.

Mais une mise en cache avec création d'un fichier .html est simple, non ? ;)

Lien vers le commentaire
Partager sur d’autres sites

rolala, j'avaiszappé que c'est sur ce post que tu me posais la question... desole :P

Mais une mise en cache avec création d'un fichier .html est simple, non ?

oula

jme depatouille coté system, mais le php et moi, ca fait 2 :lol:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...