par
roooh » 20 mars 2015, 13:10
Merci de ta réponse rapide,
Effectivement le nombre de question est récupéré par la requête qui sera stocké dans la variable, ici $nbquest. Il sera souvent entre 50 et 80 questions, donc variable en fonction de la compétence
En traduction ton second code nous insère le numéro de la question dans un tableau pour $nbquest si j'ai bien compris ?
Voici mon existant, j'essaie de faire au plus simple pour comprendre pour l'instant à partir de l'appel de la fonction.
function ajoutTest($candidat, $competence, $technologie) {
/* On ajoute un test */
$sql = "INSERT INTO `test`(`No_test`, `date_test`, `h_debut_test`, `h_fin_test`, `No_candidat`, `No_competence`, `No_technologie`) VALUES ('','','','','" . $candidat . "','" . $competence . "','" . $technologie . "')";
$con = connexion();
$req = mysqli_query($con, $sql) or die("<center>Le test n'a pas pu être attribué</center>");
/* On récupère le numero du test lié au candidat */
$sql2 = "SELECT No_test FROM test WHERE No_candidat ='".$candidat."' ";
$req_noTest = mysqli_query($con, $sql2) or die("<center>Le SELECT de l'id du test à échoué</center>");
$noTest = mysqli_fetch_assoc($req_noTest);
$noTestFinal = $noTest['No_test'];
/* On retourne le numero du test */
return $noTestFinal;
}
if (isset($_POST['attribuer_test'])) {
/* On récupère les valeurs des select */
$candidat = $_POST['ajout_candidat'];
$competence = $_POST['ajout_competence'];
$technologie = $_POST['ajout_technologie'];
$No_test = ajoutTest($candidat, $competence, $technologie);
$sql3 = "SELECT nb_question FROM competence WHERE No_competence='".$competence."'";
$nb_question = mysqli_query($con, $sql) or die("<center>La récupération du nombre de question à échoué</center>");
$deja = array();
$numquest = rand(0, $nb_question); // OU 1
while(in_array($numquest, $deja) {
$numquest = rand(0, $nb_question); // OU 1
}
$deja[] = $numquest;
}
Merci de ta réponse rapide,
Effectivement le nombre de question est récupéré par la requête qui sera stocké dans la variable, ici $nbquest. Il sera souvent entre 50 et 80 questions, donc variable en fonction de la compétence
En traduction ton second code nous insère le numéro de la question dans un tableau pour $nbquest si j'ai bien compris ?
Voici mon existant, j'essaie de faire au plus simple pour comprendre pour l'instant à partir de l'appel de la fonction.
[php]function ajoutTest($candidat, $competence, $technologie) {
/* On ajoute un test */
$sql = "INSERT INTO `test`(`No_test`, `date_test`, `h_debut_test`, `h_fin_test`, `No_candidat`, `No_competence`, `No_technologie`) VALUES ('','','','','" . $candidat . "','" . $competence . "','" . $technologie . "')";
$con = connexion();
$req = mysqli_query($con, $sql) or die("<center>Le test n'a pas pu être attribué</center>");
/* On récupère le numero du test lié au candidat */
$sql2 = "SELECT No_test FROM test WHERE No_candidat ='".$candidat."' ";
$req_noTest = mysqli_query($con, $sql2) or die("<center>Le SELECT de l'id du test à échoué</center>");
$noTest = mysqli_fetch_assoc($req_noTest);
$noTestFinal = $noTest['No_test'];
/* On retourne le numero du test */
return $noTestFinal;
}
if (isset($_POST['attribuer_test'])) {
/* On récupère les valeurs des select */
$candidat = $_POST['ajout_candidat'];
$competence = $_POST['ajout_competence'];
$technologie = $_POST['ajout_technologie'];
$No_test = ajoutTest($candidat, $competence, $technologie);
$sql3 = "SELECT nb_question FROM competence WHERE No_competence='".$competence."'";
$nb_question = mysqli_query($con, $sql) or die("<center>La récupération du nombre de question à échoué</center>");
$deja = array();
$numquest = rand(0, $nb_question); // OU 1
while(in_array($numquest, $deja) {
$numquest = rand(0, $nb_question); // OU 1
}
$deja[] = $numquest;
}[/php]