Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql]dziwny błąd z zapisem do bazy
Forum PHP.pl > Forum > Przedszkole
aga323
Witam. Otóż mam zrobiony juz prawie do końcadziennik internetowy, lecz nagle pojawia mi sie bardzo dziwny błąd. Gdy dodaję przez przeglądarkę oceny z róznych przedmiotów, to jedne mi dodaje a innych nie blinksmiley.gif nie wiem o co może tu chodzić... podaję kod:
oceny2.php
  1. <?
  2. //Laczenie z baza
  3. include ("connect.php");
  4. $id = $_GET['id'];
  5. $klasa = $_SESSION['klasa'];
  6. //-------------------------
  7. //  Zapytanie
  8. //-------------------------
  9. $przedmioty = mysql_query("SELECT * FROM przedmioty WHERE id=$id");
  10. $row = mysql_fetch_assoc($przedmioty);
  11. //-------------------------
  12. echo '<form name="ocen" action="up.php" method="POST">';
  13. echo '<input type="hidden" name="przedmiot" value="'.$id.'" />';
  14. echo 'Przedmiot: ';
  15. echo $row['Nazwa'];
  16.  
  17. echo '<table border="1"><tr><td>Przedmioty</td><td>Semestr 1</td><td>Semestr 2</td></tr>';
  18.  
  19. $cos=1;
  20. //-------------------------
  21. //  Zapytanie
  22. //-------------------------
  23. //pobieramy wszystko o użytkownikach
  24. $query = "SELECT * FROM `users` WHERE klasa = '$klasa' AND ranga ='0'";
  25. $result = mysql_query ($query);
  26. $uczen = $wynik['id'];
  27. $klasa = $_GET['klasa'];
  28. //-------------------------
  29. while($wynik=mysql_fetch_array($result))
  30. {
  31. //Warunek aby nie wyswietlalo wychowawcy
  32. if($wynik['id'] != 1)
  33. {
  34. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  35. echo "\n";
  36. echo '<tr>';
  37. echo '<td>';
  38. //wyswietl imie i nazwisko
  39. echo $wynik['imie']. ' ' .$wynik['nazwisko'];
  40. echo '</td>';
  41. echo '<td>';
  42. $uczen = $wynik['id'];
  43. $klasa = $_GET['klasa'];
  44. //-------------------------
  45. //  Zapytanie
  46. //-------------------------
  47. $oceny = mysql_query("SELECT * FROM `oceny` WHERE id_user=$uczen AND id_przedmiot=$id AND semestr
    =1"
    );
  48. $ilosc = mysql_num_rows($oceny);
  49. //-------------------------
  50. //Sprawdzamy czy jest przynajmiej jedna ocena
  51. if($ilosc != 0)
  52. {
  53. //Zrobi pętle na ilosć ocen
  54. while($wiersz = mysql_fetch_assoc($oceny))
  55. {
  56. //wyswietl oceny
  57. echo $wiersz['ocena']. ', ';
  58. }
  59. echo '<br>';
  60. echo '<input type="hidden" name="U'.$cos.'" value="' .$wynik['id']. '" />';
  61. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  62. echo "\n";
  63. echo '<input type="text" name="T' .$cos. '" value="" />';
  64. }
  65. else
  66. {
  67. echo 'Brak ocen.';
  68. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  69. echo "\n";
  70. echo '<input type="hidden" name="U'.$cos.'" value="' .$wynik['id']. '" />';
  71. echo '<br>';
  72. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  73. echo "\n";
  74. echo '<input type="text" name="T' .$cos. '" value="" />';
  75. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  76. echo "\n";
  77. }
  78. $cos++;
  79. echo '</td>';
  80. echo '<td>';
  81. $uczen = $wynik['id'];
  82. $klasa = $_GET['klasa'];
  83. //-------------------------
  84. //  Zapytanie
  85. //-------------------------
  86. $oceny = mysql_query("SELECT * FROM `oceny` WHERE id_user=$uczen AND id_przedmiot=$id AND semestr
    =2"
    );
  87. $ilosc = mysql_num_rows($oceny);
  88. //-------------------------
  89. //Sprawdzamy czy jest przynajmiej jedna ocena
  90. if($ilosc != 0)
  91. {
  92. //Zrobi pętle na ilosć ocen
  93. while($wiersz = mysql_fetch_assoc($oceny))
  94. {
  95. //wyswietl oceny
  96. echo $wiersz['ocena']. ', ';
  97. }
  98. echo '<br>';
  99. echo '<input type="hidden" name="U2'.$cos.'" value="' .$wynik['id']. '" />';
  100. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  101. echo "\n";
  102. echo '<input type="text" name="T2' .$cos. '" value="" />';
  103. }
  104. else
  105. {
  106. echo 'Brak ocen.';
  107. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  108. echo "\n";
  109. echo '<input type="hidden" name="U2'.$cos.'" value="' .$wynik['id']. '" />';
  110. echo '<br>';
  111. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  112. echo "\n";
  113. echo '<input type="text" name="T2' .$cos. '" value="" />';
  114. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  115. echo "\n";
  116. }
  117. $cos++;
  118. echo '</td>';
  119. echo '</tr>';
  120. //Znak nowej lini, aby wprowadzić porządek w kodzie html
  121. echo "\n";
  122. }
  123. }
  124. echo '</table>';
  125. echo '<input type="submit" value="wyslij" />';
  126. echo '</form>';
  127. ?>

up.php
  1. <?
  2. //Laczenie z baza
  3. include ("connect.php");
  4. //------------------
  5. // Tablica post
  6. //---------------
  7. $ilosc = count($_POST);
  8. $powtuzen = $ilosc /2;
  9. //--------------------
  10. $id_przedmiot = $_POST['przedmiot'];
  11. $query = "SELECT id FROM `users`";
  12. $result = mysql_query ($query);
  13. for ($i=$ilosc; $i>=1; $i--)
  14. {
  15. $t = 'T'.$i;
  16. $t2 = 'T2'.$i;
  17. $b = $_POST[$t];
  18. $b2 = $_POST[$t2];
  19. $u = 'U'.$i;
  20. $u2 = 'U2'.$i;
  21. $user = $_POST[$u];
  22. $user2 = $_POST[$u2];
  23. $semestr = 1;
  24. $semestr2 = 2;
  25. if(!empty($b))
  26. {
  27. $a = explode(',', $b);
  28. $cos = count($a);
  29. for ($j=0; $j<$cos; $j++)
  30. {
  31. $ocena = $a[$j];
  32. if(!empty($ocena))
  33. {
  34. //-------------------------
  35. //  Zapytanie
  36. //-------------------------
  37. $query = "INSERT INTO `oceny` (id_user, id_przedmiot, semestr, ocena) VALUES ('$user', '$id_przedmiot', '$semestr', '$ocena')" or die(mysql_error());
  38. $result = mysql_query ($query);
  39. //-------------------------
  40. }
  41. }
  42. }
  43. else if(!empty($b2))
  44. {
  45. $a2 = explode(',', $b2);
  46. $cos2 = count($a2);
  47. for ($j=0; $j<$cos2; $j++)
  48. {
  49. $ocena2 = $a2[$j];
  50. if(!empty($ocena2))
  51. {
  52. //-------------------------
  53. //  Zapytanie
  54. //-------------------------
  55. $query = "INSERT INTO `oceny` (id_user, id_przedmiot, semestr, ocena) VALUES ('$user2', '$id_przedmiot', '$semestr2', '$ocena2')";
  56. $result = mysql_query ($query);
  57. //-------------------------
  58. }
  59. }
  60. }
  61. }
  62. header( 'Location: ses.php?co=lista_p' );
  63. ?>

Proszę o pomoc bo już naprawdę nie wiem o co może tu chodzić...

Czy jest możliwe, żeby po wpisaniu do tabeli 255 rekordów nie można było już dalej wpisywać? jeśli tak to czy można to jakoś ominąć?
colinQ
Może wyczerpałaś limit miejsca w bazie winksmiley.jpg

Sprawdź ile zajmuje Ci baza a ile może zajmować...
aga323
Sprawdziłam juz miejsce i MySQL zajmuje mi 0,11 mb z 75mb :| Kurcze nie wiem o co może chodzić bo nie mogę dodać żadnej oceny teraz...
colinQ
Jeżeli porzystasz z PMA (PHP MY ADMIN) to spróbuj dodać rekord bezpośrednio z PMA

używając do tego: INSERT INTO `oceny` (id_user, id_przedmiot, semestr, ocena) VALUES ('$user', '$id_przedmiot', '$semestr', '$ocena')

a pod zmienne podstaw wartości

Jeśli działa to błąd w PHP, jeśli nie to albo źle sformułowane zapytanie albo baza się zepsuła smile.gif
aga323
Dzięki za odpowiedzi smile.gif Okazało się, że błąd leżał po stronie bazy. Na szczęście wszystko się już wyjaśniło 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.