par
Ryle » 20 mars 2010, 12:15
Ton problème vient de l'imbrication de tes deux boucles. En effet, ton foreach affiche une case à cocher pour chacun des collaborateurs, mais puisque tu exécutes celui-ci dans un while, il répète cette liste pour chaque valeur trouvée dans ta base.
Pour éviter cela, il te faut dissocier ces deux actions :
1. Générer un tableau php des idCollaborateur que tu as en base. Pour cela, tu exécutes ta requête et parcours les résultats avec ton while. Pour chaque résultat, tu stockes l'id dans un tableau php qui te servira ensuite.
2. Afficher la liste de tes collaborateurs (avec ton foreach, mais celui-ci doit être placé après le while et non à l'intérieur). Et pour chaque collaborateur que tu affiches ainsi, tu contrôles dans le tableau d'id généré précédement, si l'id du collaborateur est présent (avec isSet par exemple). Si c'est le cas, c'est que ton id a été trouvé en base et tu peux donc précocher la case avec checked
Ps : pense aux balises
quand tu postes du code ;)
Ton problème vient de l'imbrication de tes deux boucles. En effet, ton foreach affiche une case à cocher pour chacun des collaborateurs, mais puisque tu exécutes celui-ci dans un while, il répète cette liste pour chaque valeur trouvée dans ta base.
Pour éviter cela, il te faut dissocier ces deux actions :
1. Générer un tableau php des idCollaborateur que tu as en base. Pour cela, tu exécutes ta requête et parcours les résultats avec ton while. Pour chaque résultat, tu stockes l'id dans un tableau php qui te servira ensuite.
2. Afficher la liste de tes collaborateurs (avec ton foreach, mais celui-ci doit être placé après le while et non à l'intérieur). Et pour chaque collaborateur que tu affiches ainsi, tu contrôles dans le tableau d'id généré précédement, si l'id du collaborateur est présent (avec isSet par exemple). Si c'est le cas, c'est que ton id a été trouvé en base et tu peux donc précocher la case avec checked :)
Ps : pense aux balises [php] quand tu postes du code ;)