Robię quiz w php, znaczy próbuję :v
Zrobiłem na początku najprostszy quiz w takiej postaci że jest przykładowo 20 pytań i zaznaczasz i w tym samym pliku wyświetla się ilość uzyskanych plików itd.
Teraz chcę go ulepszyć i zrobić tak że w bazie danych ( mysql ) mam pytania odpowedzi, treści itp. i będą one wyświetlane ale LOSOWO. I chcę potem po kliknięciu Sprawdź wynik przekierowało na inny adres/plik i tam pokazało ilość uzyskanych punktów iii... pokazało tam te same pytanie które wcześniej wylosowało.. i pod każdym poprawną odpowiedź ( jeśli odpowiedziano źlę ) lub wiadomość że odpowiedziano dobrze na dane pytanie.
W jaki sposób mogę to zrobić? Że w pierwszym pliku losuje mi np. 20 pytań a potem w drugim z odpowiedziami wyświetlają się właśnie te 20 losowe pytania z pierwszego pliku.
Czyli jak przekazać losowe pytania to drugiego pliku?
Załączam kod który już zrobiłem:
include_once('database_connect.php');
$query = $dbh->prepare("SELECT * FROM quiz");
$query->execute();
$results = $query->fetchAll(PDO::FETCH_ASSOC);
$_SESSION['pointsAll'] = 0;
function checkAnswer($answer, $answerCorrect) {
if ( isset($answer) ) {
if ( $answer == $answerCorrect ) {
$_SESSION['pointsAll'] = $_SESSION['pointsAll'] + 1;
echo '<div class="correctPoints">' . $_SESSION['pointsAll'] . '</div>';//Add point when is correct
return $_SESSION['pointsAll'];
} else {
$_SESSION['answerinfo'] = 'Sorry but answer is incorrect!'; //incorrect info
return $_SESSION['answerinfo'];
}
}
}
echo '<div id="form-quiz"><form action="quiz2.php" method="post" class="form-quiz-ui">';
foreach ($results as $value) {
echo '<span class="text-header">';
echo $value['id'] . '. ' .$value['tresc'];
echo '</span>';
echo '<label class="answer">';
echo '<input id="checkBoxA" value="check1" name="check'. $value['id'] .'" type="radio"><span class="answer-class">A.</span>' . $value['odpa'] .'</input>';
echo '</label>';
echo '<label class="answer">';
echo '<input id="checkBoxB" value="check2" name="check'. $value['id'] .'" type="radio"><span class="answer-class">B.</span>' . $value['odpb'] .'</input>';
echo '</label>';
echo '<label class="answer">';
echo '<input id="checkBoxC" value="check3" name="check'. $value['id'] .'" type="radio"><span class="answer-class">C.</span>' . $value['odpc'] .'</input>';
echo '</label>';
echo '<label class="answer">';
echo '<input id="checkBoxD" value="check4" name="check'. $value['id'] .'" type="radio"><span class="answer-class">D.</span>' . $value['odpd'] .'</input>';
echo '</label>';
echo '<input id="hidden" name="hidden" type="hidden" value="' . $value['id'] . '">';
if ( isset($_POST['submitCheck']) && !empty($_POST['submitCheck']) ) {
if ( isset($_POST['check' . $value['id']]) && !empty($_POST['check' . $value['id']]) ) {
$checkAnswerValue = $_POST['check' . $value['id']];
} else {
echo 'Nie wybrano żadnej odpowiedzi..';
}
if ( isset($checkAnswerValue) && !empty($checkAnswerValue) ) {
checkAnswer($checkAnswerValue, $value['godp']);
}
}
}
echo '<input type="submit" class="submitCheck" name="submitCheck">Go send</input>';
echo '</form></div>';