Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] adaptacja testu na własne potrzeby
misiol
post 12.03.2008, 18:25:59
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.03.2008

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


Witam.
Moja przygoda z PHP rozpoczęła się niedawno, więc moje pytanie może się wydawać banalne - ale sam sobie nie mogę dać rady. Otóż postanowiłem stworzyć stronę na której będzie się znajdował prosty test składający się z kilku pytań zapisanych w bazie. Udało mi się znaleźć gotowy skrypt, niestety mam problem z jego działaniem, a raczej jego nie działaniem. Chodzi mi dokładnie o ten test - http://www.widgetmonkey.com/zip/quizv1.0.zip. Wykonałem wszystko tak jest zostało zapisane w pliku notes i mimo tego test nie działa. Żeby dokładnie przedstawić sytuację wklejam zawartość plików z tego testu:

plik config.php (oczywiście zmodyfikowałem go odpowiednio)
  1. <?php
  2. $database = &#092;"database\";
  3. $user = &#092;"user\";
  4. $pass = &#092;"haslo\";
  5. $hostname = &#092;"mysql.60free.ovh.org\";
  6. $table = &#092;"quiz\";
  7. ?>

plik contentdb.php
  1. <?php
  2. include(&#092;"config.php\");
  3.  
  4. $db = mysql_connect(&#092;"$hostname\", \"$user\",\"$pass\");
  5. mysql_select_db(&#092;"$database\",$db);
  6.  
  7. ?>

plik editquiz.php
  1. <?php
  2. &nbsp;
  3.  
  4.  
  5.  
  6. [b]Admin area - edit the quiz[/b]
  7. include(&#092;"contentdb.php\");
  8. if($submit)
  9. {
  10. $sql = &#092;"INSERT INTO $table (question, opt1, opt2, opt3, answer) VALUES ('$question','$opt1','$opt2','$opt3','$answer')\";
  11. $result = mysql_query($sql);
  12. echo &#092;"
  13.  
  14. Question added to quiz.
  15.  
  16. &#092;";
  17. include &#092;"qinsert.php\";
  18. }
  19. else if($update)
  20. {
  21. $sql = &#092;"UPDATE $table SET question='$question',opt1='$opt1',opt2='$opt2',opt3='$opt3',answer='$answer' WHERE id=$id\";
  22. $result = mysql_query($sql);
  23. echo &#092;"
  24.  
  25. The quiz has been succesfully updated.
  26.  
  27. &#092;n\";
  28. }
  29. else if($id)
  30. {
  31. $result = mysql_query(&#092;"SELECT * FROM $table WHERE id=$id\",$db);
  32. $myrow = mysql_fetch_array($result);
  33. ?>
  34.  
  35. }
  36. else
  37. {
  38. ?>
  39. }
  40. ?>
  41. <a href="\"\"\"editquizlist.php\"\"\"">Back to list of quiz questions

plik editquizlist.php
  1. <?php
  2. &nbsp;
  3.  
  4.  
  5.  
  6. [b]Admin area - edit the quiz[/b]
  7.  
  8.  
  9.  
  10.   
  11.  
  12.         
  13. include(&#092;"contentdb.php\");
  14.  
  15. $result = mysql_query(&#092;"SELECT id, question FROM $table ORDER BY id\",$db);
  16.  
  17. echo &#092;"\";
  18.  
  19. while ($row = mysql_fetch_array($result)) 
  20. {
  21.         $id = $row[&#092;"id\"]; 
  22.     $question = $row[&#092;"question\"]; 
  23.     if ($alternate == &#092;"1\") { 
  24.     $color = &#092;"#ffffff\"; 
  25.     $alternate = &#092;"2\"; 
  26.     } 
  27.     else { 
  28.     $color = &#092;"#efefef\"; 
  29.     $alternate = &#092;"1\"; 
  30.     } 
  31.     echo &#092;"$id:$question[ <a href="\"\"editquiz.php?id=$id\"\"">edit ][ <a href="\"\"deletequiz.php?id=$id\"" onClick="\"\"return\" confirm('Are=\"\" you=\"\" sure?')\"\"=\"\"">delete ]\"; 
  32. } 
  33. echo &#092;"\";
  34. ?>
  35.         
  36.  
  37.         
  38.  
  39.         <a href="\"\"\"editquiz.php\"\"\"">Add a new question to the quiz
  40.     
  41.   
  42.   
  43.  
  44.   
  45.  
  46. <a href="\"\"\"quizinfo.php\"\"\"">See the full quiz table

plik quiz1.php
  1. <?php
  2. //copyright widgetmonkey.com 2001
  3.  
  4. include(&#092;"contentdb.php\");
  5.  
  6. $display = mysql_query(&#092;"SELECT * FROM $table ORDER BY id\",$db);
  7.     if (!$submit) {
  8.  
  9.  
  10.     echo &#092;"\";
  11.     echo &#092;"\";
  12.  
  13.     while ($row = mysql_fetch_array($display)) {
  14.  
  15.     $id = $row[&#092;"id\"];
  16.     $question = $row[&#092;"question\"];
  17.     $opt1 = $row[&#092;"opt1\"];
  18.     $opt2 = $row[&#092;"opt2\"];
  19.     $opt3 = $row[&#092;"opt3\"];
  20.     $answer = $row[&#092;"answer\"];
  21.  
  22.     echo &#092;"
  23. [b]$question[/b]&#092;";
  24.     echo &#092;"$opt1 $opt2 $opt3 \";
  25.  
  26.     }
  27.  
  28.     echo &#092;"\";
  29.     echo &#092;"\";
  30.     echo &#092;"\";
  31.  
  32. }
  33.  
  34. elseif ($submit) 
  35.  
  36. {
  37.  
  38.     $score = 0;
  39.     $total = mysql_num_rows($display);
  40.         while ($result = mysql_fetch_array($display)) 
  41.                         {
  42.                     $answer = $result[&#092;"answer\"];
  43.             $q = $result[&#092;"q\"];
  44.                     if ($q == $answer) 
  45.         {
  46.         $score++; 
  47.         }
  48.         }
  49.         echo &#092;"
  50.  
  51. [b]You scored $score out of $total[/b]&#092;";
  52.     echo &#092;"\";
  53.         if   ($score == $total) {
  54.     echo &#092;"Congratulations! You got every question right!\";
  55.     }
  56.     elseif ($score/$total < 0.34) {
  57.     echo &#092;"Oh dear. Not the best score, but don't worry, it's only a quiz.\";
  58.     }
  59.     elseif ($score/$total > 0.67) {
  60.     echo &#092;"Well done! You certainly know your stuff.\";
  61.     }
  62.     else {
  63.     echo &#092;"Not bad - but there were a few that caught you out!\";
  64.     }
  65.  
  66. echo &#092;"
  67.  
  68. &#092;";
  69.  
  70. echo &#092;"
  71.  
  72. Here are the answers:&#092;";
  73.  
  74. echo &#092;"\";
  75. $display = mysql_query(&#092;"SELECT * FROM $table ORDER BY id\",$db);
  76. while ($row = mysql_fetch_array($display)) {
  77.  
  78. $question = $row[&#092;"question\"];
  79. $answer = $row[&#092;"answer\"];
  80. $q = $row[&#092;"q\"];
  81.  
  82. echo &#092;"
  83. $question&#092;";
  84.  
  85. if ($q == $answer) 
  86.         {
  87.         echo &#092;"&raquo;you answered ${$q}, which is correct\";
  88.         }
  89. elseif ($q == &#092;"\") {
  90. echo &#092;"&raquo;you didn't select an answer. The answer is $answer\";
  91. }
  92. else {
  93. echo &#092;"&raquo;you answered ${$q}. The answer is $answer\";
  94. }
  95.  
  96. }
  97. echo &#092;"\";
  98.  
  99.  
  100.  
  101. }
  102.  
  103. ?>

Oczywiscie odpowiednia tabela o nazwie quiz została utworzona. Problemy są tego typu. Chcąc dodać pytanie poprzez editquiz.php nic się nie dodaje. Dodatkowo po odpaleniu editquizlist.php pojawiają się dwa błędy:
Kod
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/a/m/i/amigoksg/www/quiz/editquizlist.php on line 13
Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a/m/i/amigoksg/www/quiz/editquizlist.php on line 16

Probowałem takze ręcznie poprzez phpmyadmin dodać pytania do tabeli quiz. Po dodaniu ich i odpaleniu quiz1.php występują następujące błędy:
Kod
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/a/m/i/amigoksg/www/quiz/quiz1.php on line 7
Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a/m/i/amigoksg/www/quiz/quiz1.php on line 15
Wydaje mi się, że funkcje mysql_query i mysql_fetch_array są dobrze użyte a jednak pojawiają się te w/w błędy. Dlatego pytam tutaj ,bo już nie wiem co może być źle. Pozdrawiam.

Ten post edytował misiol 15.03.2008, 14:21:22
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:40