Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generator testów wielokrotnego wyboru
Bojakki
post
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

Ostrzeżenie: (0%)
-----


Prawie skonczylem pisac taki test. mam problem tylko z 1 rzecza.
Mam taki kod:
  1. <?php
  2. if(!isset($_REQUEST['submit2']))
  3. { $uzytkownik=$_SESSION['user_logged'];
  4. //$uzytkownik = mysql_real_escape_string($_REQUEST['uzytkownik']);
  5. $trudnosc = $_REQUEST['trudnosc'];
  6. $przedmiot = $_REQUEST['przedmiot'];
  7. $pytania = $_REQUEST['pytania'];
  8. $myquery = mysql_query("INSERT INTO testy (id_uzytkownika, trudnosc, id_przedmiotu) VALUES ('{$uzytkownik}','{$trudnosc}','{$przedmiot}')");
  9. $ida = mysql_insert_id();//to
  10. echo 'Test numer '.$ida;
  11. $c=0;
  12. $query = mysql_query("SELECT * FROM pytania WHERE id_przedmiotu=$przedmiot AND trudnosc=$trudnosc
     ORDER BY RAND() LIMIT $pytania"
    ) or die(mysql_error());
  13. echo '<form name="formularz" method="post" action="generuj_test.php?krok=2&id='.$id.'&q='.$pytania.'">';
  14. while($row = mysql_fetch_row($query))
  15. {
  16. $c++;
  17. $idpytania = $row[0];//to
  18. $pytanie = $row[1];
  19. $odp1 = $row[2];
  20. $odp2 = $row[3];
  21. $odp3 = $row[4];
  22. $odpp1 = $row[5];//to
  23. $odpp2 = $row[6];//to
  24. $odpp3 = $row[7];//to
  25.  
  26. echo '<font size="4"><b>'.$idpytania.'.</b></font><br>';
  27. echo '<b>'.$pytanie.'</b><br>';
  28.  
  29. echo '<input type="checkbox" value="1" name="odpu1"> '.$odp1.'<br>';
  30. echo '<input type="checkbox" value="1" name="odpu2"> '.$odp2.'<br>';
  31.  echo '<input type="checkbox" value="1" name="odpu3"> '.$odp3.'<br>';
  32.  
  33.  if ($_POST['odpu1']==1) $odpu1=1; else $odpu1=0;
  34. if ($_POST['odpu2']==1) $odpu2=1; else $odpu2=0;
  35. if ($_POST['odpu3']==1) $odpu3=1; else $odpu3=0;
  36. }
  37. echo '<input type="submit" name="submit2" value="ZatwierdĽ" /></form>';
  38.  }
  39. else
  40. {
  41.  // Tutaj nie wiem co zrobic by pytania sie wyslaly
  42.  $myquery=mysql_query("INSERT INTO odpowiedzi (id_testu, id_pytania, odpu1, odpu2, odpu3) VALUES ('{$ida}','{$idpytania}','{$odpu1}','{$odpu2}','{$odpu3}')");
  43.  
  44.  echo '<a href="test.php?id='.$id.'">Zobacz wynik</a>';
  45. }
  46. ?>


Chodiz o to ze test generuje losowe pytania w liczbie wczesniej ustalonej. I probuje by po zatwierdzeniu swoich odpowiedzi kazda z wygenerowanych odpowiedzi poszla do tabeli 'odpowiedzi' O ile $idtestu jest zawsze takie same o tyle nie wiem jak wrzucic pozostale dane bo te dla kazdej odpowiedzi beda inne.

zapytanie ma taka postac:
$myquery=mysql_query("INSERT INTO odpowiedzi (id_testu, id_pytania, odpu1, odpu2, odpu3) VALUES ('{$ida}','{$idpytania}','{$odpu1}','{$odpu2}','{$odpu3}')");
chce jednak by wykonalo sie tyle razy ile jest wygenerowanych pytan i oczywiscie tak by $idpytania mialo taki id jak losowe wybrane pytanie i odpwoiednio wybrane odpowiedzi uzytkownika dla tego pytania.

Wie moze ktos jak to mozna zrobic?

Z gory dziekuje za pomoc!
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 22:24