Unique id of quiz attempt

Unique id of quiz attempt

by Aditya Dubay -
Number of replies: 0

Hi,

 

I am using Moodle 3.2.2

I want to generate a unique id of each quiz attempt and display it on view.php of Quiz module.

I try some code in view.php (file is attached with post) of quiz but it wont work for me:

/if (isset($_POST['submit'])){
$courseid = $COURSE->id;
//print_r($COURSE);
$userid = $USER->id;
$new_cource_id = $courseid-2;
echo $shortname = $COURSE->shortname;

//get the quiz name
/*$cm = $PAGE->cm;
echo $quiz = $DB->get_record('quiz', array('id' => $cm->instance));*/
// this is db connectioon goes here

$dbhost = $CFG->dbhost;
$dbname = $CFG->dbname;
$dbuser = $CFG->dbuser;
$dbpass = $CFG->dbpass;

$conn = new mysqli($dbhost, $dbuser, $dbpass,$dbname);

$sql_get_quie_id = $conn->query("SELECT * FROM mdl_quiz
INNER JOIN mdl_quiz_attempts ON mdl_quiz.id = mdl_quiz_attempts.quiz
WHERE mdl_quiz.course ='$courseid'");
while ($row= $sql_get_quie_id->fetch_assoc()){
echo $quie_id = $row['quiz'];
echo $quiz_name = $row['name'];
}

 


//$sql2 = $conn->query("SELECT * FROM `mdl_course`");

/*while ($row = $sql->fetch_assoc()){
$row['uniqueid'];
}*/
$unique_id = $userid.$shortname.generateRandomString();
$sql = $conn->query("INSERT INTO `attempt_unique_id`(`id`, `unique_id`, `date_time`, `user_id`,`course_id`)
VALUES ('','$unique_id','','$userid','$quie_id')");
if ($sql==true){
$last_id = $conn->insert_id;
}

//}

function generateRandomString($length = 5) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}

?>

<?php

$dbhost = $CFG->dbhost;
$dbname = $CFG->dbname;
$dbuser = $CFG->dbuser;
$dbpass = $CFG->dbpass;

$conn = new mysqli($dbhost, $dbuser, $dbpass,$dbname);

echo $courseid = $COURSE->id;
//print_r($COURSE);
$userid = $USER->id;


$sql_insert = $conn->query("SELECT * FROM `attempt_unique_id` WHERE `user_id` ='$userid' AND `course_id`='$courseid'");
$count_row = $sql_insert->num_rows;

if ($count_row>0){
while ($row_data = $sql_insert->fetch_assoc()){
$unique_id= $row_data['unique_id'];
echo "<span style='color:red; font-weight:bold;'>Refrance Number :".$unique_id."</span>";
}
}

else
{
/////////
$sql_qa = $conn->query("SELECT * FROM `mdl_quiz_attempts` WHERE `userid`='$userid' AND `quiz`='$quie_id' AND `state` = 'finished'");
$sql_qa_count = $sql_qa->num_rows;
if(!$sql_qa_count==0){
?>
<form action="" method="post">
<input type="submit" value="Generate Reference Number " name="submit" >
</form>

<?php

}

else{
// echo "<h4>Refrance Number : ".$unique_id."</h4>";
}
}

Average of ratings: -