query('SELECT COUNT(*) FROM "Questions"')['data'][0]['count']; // Return $count random, non repeating numbers in range from $min to $max. function random_numbers($min, $max, $count){ $numbers = range($min, $max); shuffle($numbers); return array_slice($numbers, 0, $count-1); } print_r($questions_count); if($uid == '') { $error = 12103; } else if($length == 0) { $error = 12101; } else if($length > $questions_count) { $error = 12102; $values = array($questions_count); } else { // Delete existing game for user. $exists = ($db->query('SELECT EXISTS (SELECT 1 FROM "Games" WHERE "ID" = $1)', array($uid)))['data'][0]['exists']; print_r($exists); if($db->query('SELECT EXISTS (SELECT 1 FROM "Games" WHERE "ID" = $1)', array($uid)) == 't') { $db->query('DELETE FROM "Games" WHERE "ID" = $1', array($uid)); } // Create new game for user. $db->query('INSERT INTO "Games" ("ID") VALUES ($1)', array($uid)); // Find questions for new game and insert into table. $questions = random_numbers(0, $questions_count-1, $length); foreach($questions as $question) { $q = $db->query('SELECT "ID" FROM "Questions" OFFSET $1 LIMIT 1', array($question)); $db->query('INSERT INTO "GamesQuestions" ("Games_ID", "Questions_ID") VALUES ($1, $2)', array($uid, $q)); } } $response = Database::create_response($data, $error, $values); print $response; ?>