Aller au contenu

[php/ldap] affichage par ordre alphabetique


Sujets conseillés

Posté

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

Posté (modifié)

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
Posté

merci

je galere un peu avec asort...

cela s'appliqur sur un array, mais coment l'intergrer dans mon cas?

Posté

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(...)

Posté

slt dan

sur la Version 4.2.0, la fonction ldap_sort n'existe pas.

jvais faire un upgrade pour voir.

merci

Posté

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

Posté

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 :)

Posté

Salut Glibre,

Tu cherches peut-être quelque chose comme l'affichage des Livers et/ou auteurs sur lisons.info ?

Dis-moi si c'est ce que tu veux faire : Liste des auteurs

Posté

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

Posté

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 ? ;)

Posté

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:

Veuillez vous connecter pour commenter

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



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