Se connecter avec
S'enregistrer | Connectez-vous

programmation php

Dernière réponse : dans Programmation

Bonjour,

Je fais appel a ts les pti specialistes de la programmation ( et mm aux autres !!)pour qui mon pb ne sera qu'une formalité, le plus dur sera pour moi de vous l'expliquer !!

Voila je ve rechercher des personnes dans un annuaire selon differents criteres (5 en tt: nom, prenom, @, categorie et departement)

sachant egalement que je ne suis pas obligé de tous les rentrer !!
Par consequent en fonction du nombre des criteres rentrés, les resultats de la recherche seront donc differents

Par exemple si je rentre pascal ds la case prenom et vosges ds la case departement j'obtiendrais bcp plus de resultats qui si j'y ajoute un nom de famille !! logique non ?
j'espere que vous me suivez...

Je ne suis vraiment pas un as en programmation, le 1er reflexe qu'il m'est venu a été de faire des "if" ms ca serait bcp trop long ds la mesure ou il y a pas mal de k differents...
Il doit bien y avoir qqchose de plus simple a faire...dc voila si vous avez une idee ...
Je precise que c en PHP, que c pr un annuaire ldap (qui marche sinon tres bien )
D'avance merci...

Autres pages sur : programmation php

Lassé par la pub ? Créez un compte

Où sont stockées les données de l'annuaire ?

Le mieu serai de les mettre dans une base SQL, ainsi une simple requete de ce genre permetterai de faire une recherche:

SELECT * FROM annuaire WHERE nom like "%$nom%" and prenom like "%$prenom%" etc...

je pense que tu devrai faire un truc du genre :

liste <- tous des personnes
listetmp <- liste temporaire

if($nom != "")
{
Pour tous les éléments de liste :
if($nom == nom_de_l'élément)
alors copier cet élément dans listetmp
}
Liste = Listetmp
effacer Listetmp

et recommencer pour tous :) 


J'espere qu j'ai été assez clair :) 

Country a écritOù sont stockées les données de l'annuaire ?

Le mieu serai de les mettre dans une base SQL, ainsi une simple requete de ce genre permetterai de faire une recherche:

SELECT * FROM annuaire WHERE nom like "%$nom%" and prenom like "%$prenom%" etc...


grilled

c'est sur si c'est faisable c'est beaucoup plus simple étant donné que c'est le SQL qui se charge de tout :D 

c'est pour verifier si j'ai bien compris ca donnera un truc du genre (nom, prenom, mail, o, ou etant mes 5 criteres du formulaire):

if ($nom != ""){
copier $nom ds listtemp
if ($prenom != "")
copier $prenom ds listtemp
if ($mail != "")
copier $mail ds listtemp
if ($o != "")
copier $o ds listtemp
if ($ou != "")
copier $ou ds listtemp
}
et ainsi de suite pour les 5 criteres
Mais si c ca (jsui dsl je dois etre saoulant) ms comment copier ds "listtemp"
puis comment lire "list" ensuite ?

je vien d'avoir un autre idée :) 

if(
($nom == NOM or $nom == "") and
($prenom == PRENOM or $prenom == "") and
($mail == MAIL or $mail == "") and
($o == O or $o == "") and
($ou == OU or $ou == "")
)
alors afficher la personne


je sais pas comment on récupère les infos d'un annuaire ldap mais en tout cas tu dois faire un boucle pour que ce if soit executer pour chaque personne dans l'annuaire
NOM, PRENOM (...) doivent etre remplacés par le nom, prenom,(...) de la personne que tu veux tester

J'espere que j'ai été assez clair (c'est dur a 23h le vendredi soir )

ouais c bon merci bien de ton aide g trouvé un autre moyen finalement et ca marche parfaitement...

$filtre = " ( & ";
if ($prenom != "")
$filtre .= " (prenom=$prenom) ";
if ($nom != "")
$filtre != " (nom=$nom)";

et ainsi de suite pr chaque critere...

puis on referme le filtre

$filtre .= ")";

Donc voila g pas u besoin de boucle et ca fonctionne tres bien
encore merci !!
Lassé par la pub ? Créez un compte