• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Quiz w PHP, losowe pytania przekazane do innego pliku.

42 Warsaw Coding Academy
+1 głos
993 wizyt
pytanie zadane 26 kwietnia 2017 w PHP przez nielotweb Bywalec (2,240 p.)

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>';

 

2 odpowiedzi

0 głosów
odpowiedź 26 kwietnia 2017 przez ThePatrykOOO Dyskutant (8,400 p.)
nie lepiej ci to zrobić na jednym pliku, albo robisz include tego zapytania
0 głosów
odpowiedź 26 kwietnia 2017 przez CzikaCarry Szeryf (75,340 p.)
Przekaż je przez sesję, najprościej.

Podobne pytania

0 głosów
0 odpowiedzi 322 wizyt
pytanie zadane 18 grudnia 2016 w PHP przez FruitBandit Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 674 wizyt
0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 25 września 2019 w PHP przez Jokii Nowicjusz (240 p.)

93,394 zapytań

142,387 odpowiedzi

322,550 komentarzy

62,752 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...