mirror of
https://github.com/idanoo/nzart-exam-generator
synced 2025-07-03 06:42:17 +00:00
Made full exam mock actual exam by grabbing 1 question per 10 for each section
This commit is contained in:
parent
3d98b9a290
commit
9e95985703
3 changed files with 35 additions and 11 deletions
|
@ -44,6 +44,13 @@ class DataItem {
|
|||
return $obj;
|
||||
}
|
||||
|
||||
public static function count($query)
|
||||
{
|
||||
$db = new db();
|
||||
$db->query($query);
|
||||
return array_pop($db->single());
|
||||
}
|
||||
|
||||
public function getId() {
|
||||
$typeName = static::_getType();
|
||||
$id = $typeName."_id";
|
||||
|
|
|
@ -18,9 +18,10 @@ class Question extends DataItem {
|
|||
return "question";
|
||||
}
|
||||
|
||||
public static function getQuestions($count = false)
|
||||
public static function getQuestions($count)
|
||||
{
|
||||
$questions = static::getAllWhere(false, "order by rand()", false, $count);
|
||||
if($count == "60") return self::getExamQuestions();
|
||||
$questions = self::getAllWhere(false, "order by rand()", false, $count);
|
||||
foreach ($questions as $q) {
|
||||
$q->answers = $q->getAnswers();
|
||||
shuffle($q->answers);
|
||||
|
@ -28,6 +29,23 @@ class Question extends DataItem {
|
|||
return $questions;
|
||||
}
|
||||
|
||||
public static function getExamQuestions()
|
||||
{
|
||||
$questions = [];
|
||||
$i=1;
|
||||
while ($i<=30) {
|
||||
$limit = parent::count("SELECT COUNT(*)/10 FROM question WHERE FLOOR(questiondata_number) = ".$i);
|
||||
$questions = array_merge($questions, self::getAllWhere("FLOOR(questiondata_number) = ".$i, "order by rand()", false, intval($limit)));
|
||||
$i++;
|
||||
}
|
||||
foreach ($questions as $q) {
|
||||
$q->answers = $q->getAnswers();
|
||||
shuffle($q->answers);
|
||||
}
|
||||
return $questions;
|
||||
|
||||
}
|
||||
|
||||
public function getQuestion()
|
||||
{
|
||||
return $this->questiondata_content;
|
||||
|
@ -47,4 +65,9 @@ class Question extends DataItem {
|
|||
{
|
||||
return $this->questiondata_image;
|
||||
}
|
||||
|
||||
public function getCountFromNumber()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue