par
Jibe » 30 août 2011, 10:49
OK, je vais essayer d'expliquer ça clairement. Le but de cette partie de mon application c'est de comparer les compétences d'une équipe aux compétences d'une mission. Dans la 1ère IHM, l'utilisateur sélectionne une mission, une équipe et une date. Pour l'extraction de données en base :
$niv = array();
$sql = $bdd->query('SELECT codecomp FROM l_miss_comp WHERE codemiss = '.$codemiss.'');
while($don = $sql->fetch())
{
$codeco = $don['codecomp'];
$sq = $bdd->query('SELECT matricule FROM l_collab_eq WHERE codeeq = '.$codeeq.'');
while($do = $sq->fetch())
{
$mat = $do['matricule'];
$s = $bdd->query("SELECT DISTINCT nive FROM l_collab_niv_fct WHERE date = '$datet' AND matricule = ".$mat." AND codecomp = ".$codeco."");
while($te = $s->fetch())
{
$niv[$codeco][$mat] = $te['nive'];
}
}
}
foreach($niv as $codeco=>$mat){
$niv[$codeco]=array(
'moyenne'=>array_sum($mat)/count($mat),
'max' =>max($mat),
'min' =>min($mat)
);
}
$_SESSION['eq'] = $codeeq;
$_SESSION['miss'] = $codemiss;
$_SESSION['nivcolabcomp'] = $niv;
La première requête sort les compétences de la missions. La deuxième extrait les acteurs qui composent l'équipe. La troisième sélectionne le niveau de ces acteurs quand ils ont les compétences qui correspondent à celles de la mission.
Puis voilà la page de création du graphique (enfin juste le code d'extraction):
$eq = $_SESSION['eq'];
$miss = $_SESSION['miss'];
$niv = $_SESSION['nivcolabcomp'];
$requ = $bdd->query('SELECT codescomp, niveau FROM l_miss_scomp WHERE codemiss = '.$miss.'');
$scomp = array();
$niv = array();
while($donn = $requ->fetch())
{
$codesc = $donn['codescomp'];
$niv_cible[] = $donn['niveau'];
$rep = $bdd->query('SELECT libscomp FROM scompetence WHERE codescomp = '.$codesc.'');
while($donnees = $rep->fetch())
{
$scomp[] = $donnees['libscomp'];
}
}
La 1ère requête sélectionne les codes des compétences de la missions avec les niveaux cibles et la 2ème requête sort les libellés des compétences. Donc sur mon graphique en toile d'araignée j'aurai un premier tracé correspondant aux compétences de la mission avec leur niveaux cibles. Sur ce même graphique je voudrais insérer les min, max et moy de contenues dans mon tableau à 2 dimensions mais je ne sais pas comment faire pour avoir un
$min[] = valeur des min pour chaque compétences
$max[] = valeur des max pour chaque compétences
$moy[] = valeur des moyennes pour chaque compétences
Est-ce plus claire ?
OK, je vais essayer d'expliquer ça clairement. Le but de cette partie de mon application c'est de comparer les compétences d'une équipe aux compétences d'une mission. Dans la 1ère IHM, l'utilisateur sélectionne une mission, une équipe et une date. Pour l'extraction de données en base :
[php]$niv = array();
$sql = $bdd->query('SELECT codecomp FROM l_miss_comp WHERE codemiss = '.$codemiss.'');
while($don = $sql->fetch())
{
$codeco = $don['codecomp'];
$sq = $bdd->query('SELECT matricule FROM l_collab_eq WHERE codeeq = '.$codeeq.'');
while($do = $sq->fetch())
{
$mat = $do['matricule'];
$s = $bdd->query("SELECT DISTINCT nive FROM l_collab_niv_fct WHERE date = '$datet' AND matricule = ".$mat." AND codecomp = ".$codeco."");
while($te = $s->fetch())
{
$niv[$codeco][$mat] = $te['nive'];
}
}
}
foreach($niv as $codeco=>$mat){
$niv[$codeco]=array(
'moyenne'=>array_sum($mat)/count($mat),
'max' =>max($mat),
'min' =>min($mat)
);
}
$_SESSION['eq'] = $codeeq;
$_SESSION['miss'] = $codemiss;
$_SESSION['nivcolabcomp'] = $niv; [/php]
La première requête sort les compétences de la missions. La deuxième extrait les acteurs qui composent l'équipe. La troisième sélectionne le niveau de ces acteurs quand ils ont les compétences qui correspondent à celles de la mission.
Puis voilà la page de création du graphique (enfin juste le code d'extraction):
[php]$eq = $_SESSION['eq'];
$miss = $_SESSION['miss'];
$niv = $_SESSION['nivcolabcomp'];
$requ = $bdd->query('SELECT codescomp, niveau FROM l_miss_scomp WHERE codemiss = '.$miss.'');
$scomp = array();
$niv = array();
while($donn = $requ->fetch())
{
$codesc = $donn['codescomp'];
$niv_cible[] = $donn['niveau'];
$rep = $bdd->query('SELECT libscomp FROM scompetence WHERE codescomp = '.$codesc.'');
while($donnees = $rep->fetch())
{
$scomp[] = $donnees['libscomp'];
}
}[/php]
La 1ère requête sélectionne les codes des compétences de la missions avec les niveaux cibles et la 2ème requête sort les libellés des compétences. Donc sur mon graphique en toile d'araignée j'aurai un premier tracé correspondant aux compétences de la mission avec leur niveaux cibles. Sur ce même graphique je voudrais insérer les min, max et moy de contenues dans mon tableau à 2 dimensions mais je ne sais pas comment faire pour avoir un
[php]$min[] = valeur des min pour chaque compétences
$max[] = valeur des max pour chaque compétences
$moy[] = valeur des moyennes pour chaque compétences[/php]
Est-ce plus claire ?