100) jsonMsg("Test nie może być dłuższy niż 100 pytań"); $conn = connectDB(); $stmt = $conn->prepare("SELECT count(*) FROM questions LIMIT 1"); $stmt->execute(); $stmt->bind_result($questionsCount); $stmt->fetch(); $questionsIDs = []; {$i = 0; while ($i != $_POST["testLength"]) { $randomNum = rand(0, $questionsCount); if (!in_array($randomNum, $questionsIDs)) { $questionsIDs[] = $randomNum; $i++; } }} $stmt->close(); $filler = implode(",", array_fill(0, count($questionsIDs), "?")); $stmt = $conn->prepare("SELECT QID, content, answerA, answerB, answerC, answerD FROM questions WHERE QID IN ($filler) ORDER BY FIELD(QID, $filler)"); $types = str_repeat("i", count($questionsIDs)*2); $arrMerged = array_merge($questionsIDs, $questionsIDs); $stmt->bind_param($types, ...$arrMerged); $stmt->execute(); $stmt->bind_result($QID, $content, $answerA, $answerB, $answerC, $answerD); $result = []; while ($stmt->fetch()) { $result["questions"][] = [ "QID" => $QID, "content" => $content, "answerA" => $answerA, "answerB" => $answerB, "answerC" => $answerC, "answerD" => $answerD ]; } $stmt->close(); $conn->close(); $result["msg"] = "Wygenerowano ". count($result["questions"]). " pytań"; header('Content-Type: application/json'); echo json_encode($result); } else jsonMsg("Nieprawidłowy request");