salut,
erreur monumentale, c'est un gros défaut de conception.
tu n'étais pas loin avec la constitution de groupe.
sur le principe il te faut une auto jointure sur tes utilisateurs.
2014-03-17_183144.png
cela te fait une table de ce style
CREATE TABLE Utilisateur(
userid int (11) Auto_increment NOT NULL ,
nom Varchar (25) NOT NULL ,
prenom Varchar (25) NOT NULL ,
PRIMARY KEY (userid )
)ENGINE=InnoDB;
CREATE TABLE Prendre_RdV(
userid Int NOT NULL ,
userid_Utilisateur Int NOT NULL ,
PRIMARY KEY (userid ,userid_Utilisateur )
)ENGINE=InnoDB;
ALTER TABLE Prendre_RdV ADD CONSTRAINT FK_Prendre_RdV_userid FOREIGN KEY (userid) REFERENCES Utilisateur(userid);
ALTER TABLE Prendre_RdV ADD CONSTRAINT FK_Prendre_RdV_userid_Utilisateur FOREIGN KEY (userid_Utilisateur) REFERENCES Utilisateur(userid);
tu peux donner des nom plus parlant.
dans la table Prendre_RdV la première colonne est l'id de celui qui prend les rendez-vous et la seconde l'id de celui pour quoi il prend les rendez-vous.
du coup pour afficher la combo c'est simple
SELECT u.userid
,u.nom
,u.prenom
FROM prendre_rdv as prdv
JOIN utilisateur as u
ON prdv.userid_utilisateur = u.userid
WHERE prdv.userid = 412
Où 412 est l'id de la personne connectée (que tu doit avoir en session je pense).
Le jeux de résultat est la liste des gens que la personne connectée peux "manager".
du coup tu met l'id en value de l'option et nom - prénom dans la balise (<option value="id"> nom - prénom</option>
la taille de la table prendre_rdv importe peu un sgbd c'est fait pour cela (bon si tu as 10 millions de tuples dedans on peu en reparler mais pour cela il y a des caches coté sgbd et coté client, comme par exemple garder en session ces information et ne faire la requête qu'une fois, en partant du principe qu'il n'y auras pas de modification).
@+