function qcm($val = 0) { // Declaration des variables: global $idutilisateur; global $adresserepertoiresite; //En tete du QCM : ?> <div id="form_questionnaire"> <script type="text/javascript"> <!-- <?php //Calcul des identifiants des questions precedante et suivante $prec = $val - 1; if ($prec < 0) { $prec = 0; } $suiv = $val + 1; if (isset($_POST["reponse"])) { $suiv = $suiv - 1; } if ($suiv + 1 > $this->nbquestion_nonrep()) { $suiv = $suiv - 1; } if ($prec != $val) { ?> function fprec(){ if (document.getElementById("formulaire_qcm").reponse!=undefined && document.getElementById("formulaire_qcm").reponse.value==undefined) { document.getElementById('formulaire_qcm').val.value = "<?php echo $prec; ?> "; } document.getElementById('formulaire_qcm').submit(); } <?php } if ($suiv != $val || isset($_POST["reponse"])) { ?> function fsuiv(){ if (document.getElementById("formulaire_qcm").reponse!=undefined && document.getElementById("formulaire_qcm").reponse.value==undefined) { document.getElementById('formulaire_qcm').val.value = "<?php echo $suiv; ?> "; } document.getElementById('formulaire_qcm').submit(); } <?php } ?> //--> </script> <form action="<?php echo $_SERVER['PHP_SELF']; ?> " method="post" id="formulaire_qcm"> <div class="fielset"> <fieldset><legend><?php echo $this->titre; ?> </legend> <div id="intitule_questionnaire"> <?php echo $this->intitule; ?> </div><?php //Creation de variables temporaires: require_once $adresserepertoiresite . '/scripts/php/class.question.php'; require_once $adresserepertoiresite . '/scripts/php/class.reponse.php'; $vtemp = new question(); $vreponse = new reponse(); // Recherche de la nieme question pour laquelle l'utilisateur n'a pas encore repondu: $select_sql = "select T1.* \r\n\t\t\t\t\t\tFROM {$vtemp->table} AS T1 \r\n\t\t\t\t\t\tLEFT JOIN {$vreponse->table} AS T2 ON (T1.idquestion=T2.idquestion_rel AND T2.idutilisateur_rel='{$idutilisateur}' AND T2.visible='1')\r\n\t\t\t\t\t\tWHERE T2.idreponse IS NULL AND T1.visible='1' AND T1.idquestionnaire_rel='{$this->identifiant}' AND T1.validation='1'\r\n\t\t\t\t\t\tORDER BY T1.ordre LIMIT {$val}, 1;"; $select_sql = requete_sql($select_sql); if (compte_sql($select_sql) > 0) { //affichage de la question voulue non encore repondue if (!isset($_GET['num'])) { $question_sql = tableau_sql($select_sql); $num = $question_sql[$vtemp->champ_identifiant]; } $question = new question($num); $question->formulaire_question(); } else { //affichage du score de l'utilisateur pour ce questionnaire $score = $this->score_qcm(); //calcul de l'angle de l'arc de reponse(s) fausse(s) if ($score[0] > 0) { $rapport_total_sur_faux = $score[3] / $score[0]; } else { $rapport_total_sur_faux = 0; } $vanglefaux = 360 * $rapport_total_sur_faux; $vpctvrai = 1 - $rapport_total_sur_faux; $vpctvrai = $vpctvrai * 100; // French notation $nombre_format_francais = number_format($vpctvrai, 2, ',', ' '); $vtextepctvrai = $nombre_format_francais . "%"; $vtextevrai = _REPONSES_VRAI . $score[2] . "/" . $score[0]; //calcul de l'angle de l'arc du score if ($score[7] - $score[6] != 0) { $rapport_score_ecart = ($score[4] - $score[6]) / ($score[7] - $score[6]); } else { $rapport_score_ecart = 0; } $vanglescore = 360 * (1 - $rapport_score_ecart); $vpctscore = $rapport_score_ecart; $vpctscore = $vpctscore * 100; // French notation $nombre_format_francais_score = number_format($vpctscore, 2, ',', ' '); $vtextepctscore = $nombre_format_francais_score . "%"; $vtextescore = _SCORE . $score[4] . "/" . $score[7]; $vtextescoremin = _MIN . $score[6]; //texte alternatif pour l'image : $vtexte_alt = $vtextevrai . " ==> " . $vtextepctvrai . " / " . $vtextescore . " ==> " . $vtextepctscore . " (" . $vtextescoremin . ")"; ?> <img src="image.scorequestionnaire.php?i=<?php echo $this->identifiant; ?> &u=<?php echo $idutilisateur; ?> " alt="<?php echo $vtexte_alt; ?> " /> <?php } ?> <div class="bouton_cadre"><?php //Calcul du nombre de question(s) restante(s) $nombre_question = $this->nbquestion_nonrep(); //Affichage des boutons de suivi du questionnaire if ($prec != $val && !isset($_POST["reponse"]) && $nombre_question > 0) { ?> <input type="button" value="<?php echo _QUESTION_PRECEDANTE; ?> " onclick="fprec()" /> <?php } if ($suiv != $val && !isset($_POST["reponse"]) && $nombre_question > 0) { ?> <input type="button" value="<?php echo _QUESTION_SUIVANTE; ?> " onclick="fsuiv()"/> <?php } if (isset($_POST["reponse"]) && $nombre_question > 0) { ?> <input type="button" value="<?php echo _QUESTION_SUIVANTE; ?> " onclick="fsuiv()"/> <?php } if (isset($_POST["reponse"]) && $nombre_question == 0) { ?> <input type="button" value="<?php echo _RESULTAT_QUESTIONNAIRE; ?> " onclick="fsuiv()"/> <?php } ?> <input type="hidden" name="val" value="0" /><input type="hidden" name="v" value="<?php echo $this->identifiant; ?> " /> </div> </fieldset> </div> </form> </div> <?php }