2017-03-18 1 views
0

J'ai un questionnaire Moodle sur 2 pages différentes (2 questions sur le premier et 1 sur le second) et j'aimerais retrouver ces 3 questions.Récupérer toutes les questions d'un quiz Moodle

J'utilise ce code:

function getQuiz(IdQuiz){ 
    ajaxRequest("mod_quiz_start_attempt",{quizid:IdQuiz,forcenew:1}).success(function(quiz){ 
    getQuestions(quiz.attempt.id,0); 
    }); 
} 

function getQuestions(idAttempt,currentPage){ 
    ajaxRequest("mod_quiz_get_attempt_data",{attemptid: idAttempt, page: currentPage}).success(function(response){ 
    console.log(response); 
    if (response.nextpage > -1){ 
     getQuestions(idAttempt,currentPage+1); 
    }else{ 
     console.log('stopped'); 
    } 
    }); 
} 

Obtenir correctement les 2 premières questions de la première page mais pour la deuxième page, la réponse ne me donne pas la question, mais me dit ceci sur la console:

Object {exception: "dml_missing_record_exception", errorcode: "invalidrecord", message: "Can not find data record in database table quiz_attempts."} 

Il est étrange parce que je travaille quand je modifie la première fonction comme:

function getQuiz(IdQuiz){ 
    ajaxRequest("mod_quiz_start_attempt",{quizid:IdQuiz,forcenew:1}).success(function(quiz){ 
    getQuestions(quiz.attempt.id,0); 
    getQuestions(quiz.attempt.id,1); 
    }); 
} 

(ajaxRequest est simplement une fonction qui envoie une requête Ajax à Moodle)

Répondre

0

Je l'ai résolu moi-même! C'était en fait parce que j'ai essayé d'accéder à un quiz qui était déjà terminé (le code a été exécuté plusieurs fois sans que je le sache)