Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Losowanie zadań
Forum PHP.pl > Forum > Przedszkole
Maniek1313
Witam mam mały problem a mianowicie zrobiłem skrypt , który pobiera z bazy danych losowo 10 zadań , wyświetla je wraz z odpowiedziami i potem sprawdza poprawność odpowiedzi z tymi , które są w bazie danych i jak na razie wszystko dobrze , sprawdza odpowiedzi prawidłowo , dobrze też podkreśla prawidłową i błędną odpowiedź (jeżeli taka była) , ale przy nie których zadaniach wyskakuje
  1. Notice: Undefined index: 8 in


A tutaj skrypt (wiem wiem za dużo instrukcji if , elseif biggrin.gif)
  1. <form method="post" action="adresowanie.php">
  2. <?php
  3. if($_POST == TRUE){
  4. $sql = 'SELECT * FROM `pytania` WHERE `Kategoria` LIKE "Adresowanie%"';
  5. $wynik = mysql_query($sql); /* Zapytanie sql do bazy i zapisanie wyniku w $wynik */
  6. $licznik_punktow = 0;
  7. $max = 0;
  8. $a = 0;
  9. $A = "A";
  10. $B = "B";
  11. $C = "C";
  12. $D = "D";
  13. while($linia = mysql_fetch_array($wynik)){
  14. echo '<p><b>Zadanie ',++$a,' :</b></p>';
  15. echo '<p>',$linia["Tresc pytania"],'</p>';
  16. if ($linia["Prawidlowa"] == $A && $_POST[$linia["Nr"]] == $A){
  17. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input></aa><br>';
  18. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  19. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  20. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input><br>';
  21. }elseif ($linia["Prawidlowa"] == $A && $_POST[$linia["Nr"]] == $B){
  22. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input></aa><br>';
  23. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input></bb><br>';
  24. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  25. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input><br>';
  26. }elseif ($linia["Prawidlowa"] == $A && $_POST[$linia["Nr"]] == $C){
  27. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input></aa><br>';
  28. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  29. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input></bb><br>';
  30. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input><br>';
  31. }elseif ($linia["Prawidlowa"] == $A && $_POST[$linia["Nr"]] == $D){
  32. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input></aa><br>';
  33. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  34. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  35. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input></bb><br>';
  36. }elseif ($linia["Prawidlowa"] == $B && $_POST[$linia["Nr"]] == $A){
  37. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input></bb><br>';
  38. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input></aa><br>';
  39. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  40. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input><br>';
  41. }elseif ($linia["Prawidlowa"] == $B && $_POST[$linia["Nr"]] == $B){
  42. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  43. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input></aa><br>';
  44. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  45. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input><br>';
  46. }elseif ($linia["Prawidlowa"] == $B && $_POST[$linia["Nr"]] == $C){
  47. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  48. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="B">',$linia["OdpC"],'</input></aa><br>';
  49. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input></bb><br>';
  50. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input><br>';
  51. }elseif ($linia["Prawidlowa"] == $B && $_POST[$linia["Nr"]] == $D){
  52. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  53. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="B">',$linia["OdpC"],'</input></aa><br>';
  54. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  55. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input></bb><br>';
  56. }elseif ($linia["Prawidlowa"] == $C && $_POST[$linia["Nr"]] == $A){
  57. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input></bb><br>';
  58. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  59. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input></aa><br>';
  60. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input><br>';
  61. }elseif ($linia["Prawidlowa"] == $C && $_POST[$linia["Nr"]] == $B){
  62. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  63. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input></bb><br>';
  64. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input></aa><br>';
  65. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input><br>';


  1. }elseif ($linia["Prawidlowa"] == $C && $_POST[$linia["Nr"]] == $C){
  2. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  3. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  4. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input></aa><br>';
  5. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input><br>';
  6. }elseif ($linia["Prawidlowa"] == $C && $_POST[$linia["Nr"]] == $D){
  7. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  8. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  9. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input></aa><br>';
  10. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input></bb><br>';
  11. }elseif ($linia["Prawidlowa"] == $D && $_POST[$linia["Nr"]] == $A){
  12. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input></bb><br>';
  13. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  14. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  15. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input></aa><br>';
  16. }elseif ($linia["Prawidlowa"] == $D && $_POST[$linia["Nr"]] == $B){
  17. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  18. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input></bb><br>';
  19. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  20. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input></aa><br>';
  21. }elseif ($linia["Prawidlowa"] == $D && $_POST[$linia["Nr"]] == $C){
  22. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  23. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  24. echo '<bb><input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input></bb><br>';
  25. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input></aa><br>';
  26. }elseif ($linia["Prawidlowa"] == $D && $_POST[$linia["Nr"]] == $D){
  27. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  28. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  29. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  30. echo '<aa><input type="radio" checked="checked" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input></aa><br>';
  31. }else{
  32. echo 'Problemy po stronie serwera. Prosimy o ponowne wypełnienie testu.';
  33. }
  34. $max += $linia["Pkt"];
  35. if($_POST[$linia['Nr']] == $linia['Prawidlowa']){
  36. $licznik_punktow = $licznik_punktow + $linia["Pkt"];
  37. }
  38. }
  39. $licznik_punktow = ($licznik_punktow * 100)/$max;
  40. echo '<p><center><b>Napisałeś test na : ',$licznik_punktow,' %</b></center></p>';
  41. }else{
  42. $sql = 'SELECT * FROM pytania WHERE `Kategoria` LIKE "Adresowanie%" ORDER BY rand() LIMIT 10';
  43. $wynik = mysql_query($sql);
  44. $a = 0;
  45. while($linia = mysql_fetch_array($wynik)){
  46. echo '<p><b>Zadanie ', ++$a, ' :</b></p>';
  47. echo '<p>',$linia["Tresc pytania"],'</p>';
  48. echo '<input type="radio" name="',$linia["Nr"],'" value="A">',$linia["OdpA"],'</input><br>';
  49. echo '<input type="radio" name="',$linia["Nr"],'" value="B">',$linia["OdpB"],'</input><br>';
  50. echo '<input type="radio" name="',$linia["Nr"],'" value="C">',$linia["OdpC"],'</input><br>';
  51. echo '<input type="radio" name="',$linia["Nr"],'" value="D">',$linia["OdpD"],'</input>';
  52. }
  53. echo '<p><input type="submit" value="Gotowe" /></p>';
  54. echo '<p><input type="reset" value="Wyczyść formularz" /></p>';
  55. }
  56. ?>
  57. </form>



Sorry że tak podzielony ale pisało że za duża wiadomość biggrin.gif

@F5
piotrex41
Są 2 wyjścia. Albo możesz wygłuszyć te notice albo spróbować go wyeliminować.
Wygłuszyć możesz wpisując to:
  1. error_reporting(E_ALL ^ E_NOTICE);
zaraz za <?php
Wyeliminować można by szukając gdzie (w której linijce) występuje. Podaj pełny kod tego notice to spróbuje pomoc.
Maniek1313
Temat rozwiązany , musiałem użyć pliku txt biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.