Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP][HTML]przekazanie zmiennych z dynamicznie tworzonego formularza pomiędzy skryptami
Forum PHP.pl > Forum > Przedszkole
Diariusz
Witam. Jestem początkujący w temacie dlatego proszę o wyrozumiałość.
mam problem z przekazaniem trzech zmiennych z dynamicznie tworzonego formularza. Coś robię nie tak i za bardzo nie wiem gdzie tkwi błąd.
fragment kodu ze skryptu 1:
  1. echo"<table border='1' cellpadding='0' cellspacing='0'>";
  2. echo "<tr>";
  3. echo "<td>Klasa</td>";
  4. echo "<td>Przedmiot</td>";
  5. echo "<td>Nauczyciel </td>";
  6. echo "<td></td>";
  7. echo "<td></td>";
  8. echo "</tr>";
  9.  
  10. $zapytanie = "SELECT k.id_klasy, p.id_przedmiot, n.id_nauczyciel, k.nazwa_klasy, p.nazwa_przedmiotu, n.imie_i_nazwisko
  11. FROM nauczyciele n, przedmioty p, klasy k, klasa_przedmiot_nauczyciel kpn
  12. WHERE kpn.id_nauczyciela = n.id_nauczyciel
  13. AND kpn.id_przedmiotu = p.id_przedmiot
  14. AND kpn.id_klasy = k.id_klasy
  15. AND n.id_nauczyciel = $id_nauczyciel
  16. ";
  17.  
  18. $wynik = $polaczenie->query($zapytanie);
  19. $ile_znalezionych = $wynik->num_rows;
  20. echo "Znalezionych ".$ile_znalezionych;
  21. echo "<br>";
  22. //echo "<form action='pokaz_oceny_w_klasie.php' method='post'>";
  23. for ($i=0;$i<$ile_znalezionych;$i++)
  24. {
  25. $wiersz = $wynik->fetch_assoc();
  26. echo "<tr>";
  27. echo "<td>".stripslashes($wiersz['nazwa_klasy'])." ".$wiersz['id_klasy']."</td>";
  28. echo "<td>".stripslashes($wiersz['nazwa_przedmiotu'])."</td>";
  29. echo "<td>".stripslashes($wiersz['imie_i_nazwisko'])."</td>";
  30. echo "<td><form action='pokaz_oceny_w_klasie.php' method='post'>";
  31. echo "<input type='text' name='id_klasy' value=".$wiersz['id_klasy'].">";
  32. echo "<input type='text' name='id_przedmiot' value=".$wiersz['id_przedmiot'].">";
  33. echo "<input type='text' name='id_nauczyciel' value=".$wiersz['id_nauczyciel'].">";
  34. echo "<input type='submit' value='oceny'>";
  35. // Oceny id klasy ".stripslashes($wiersz['id_klasy']).
  36. echo "</td>";
  37.  
  38. echo "<td>Dodaj seryjnie</td>";
  39. // echo "<td>".stripslashes($wiersz['klasa'])."</td>";
  40. echo "</tr>";
  41. }
  42. echo "</form>";


podczas przekazania zmiennych id_klasy, id_przedmiot, id_nauczyciel w skrypcie okaz_oceny_w_klasie.php pojawiają się ostatnie trzy zmienne które wygenerowne były w tym pierwszym skrypcie. Prosze o pomoc jak przekazać do następnego skryptu poprawnie wybrane przez uzytkownika dane. ( i o wyrozumiałość smile.gif
markonix
Po co posta dajesz w TAG HTML? sciana.gif
92nasti
$_POST? chyba że nie rozumiem pytania.
jacobson
Cytat(Diariusz @ 1.10.2011, 11:04:06 ) *
podczas przekazania zmiennych id_klasy, id_przedmiot, id_nauczyciel w skrypcie okaz_oceny_w_klasie.php pojawiają się ostatnie trzy zmienne które wygenerowne były w tym pierwszym skrypcie. Prosze o pomoc jak przekazać do następnego skryptu poprawnie wybrane przez uzytkownika dane. ( i o wyrozumiałość smile.gif


Wybacz ale nie do konca rozumiem o co chodzi. Chodzi o to ze wartosc "value" w polach input ma nie taka wartosc jak powinno ?
Diariusz
Wykonanie skryptu ze 1 postu tworzy mi taką liczbę wierszy która jest uzależniona od wyniku zapytania. W moim przypadku są to dwa wiersze które wyglądają tak:

przy kliknięciu na przycisk oceny w pierwszym wierszu wysyłane są do następnego skryptu zmienne które są w ostatnim wierszu.
Dominis
po pierwsze, otwierasz <form> w petli, a zamykasz poza petla. Jeśli masz pare obrotow petli, to jest cos takiego
  1. <form>
  2. formularz
  3. <form>
  4. formularz
  5. <form>
  6. formularz
  7. }
  8. </form>


Tylko raz go zamykasz.
Po drugie, chyba to nie powinno być w petli, bo z tego co widze, chcesz tylko jedne dane wyciagnac z bazy i wrzucic je do formularza, czyli musisz tak skonstruowac zapytanie, zeby zwrocil Ci tylko jeden rekord, wtedy potem te zmienne przekazujesz do formularza i wysyłasz. A w nastepnym skrypcie odbierasz dobre dane dotyczace tego uzytkownika.

Chyba że coś źle zrozumiałem;)
Pozdrawiam

Edit: popraw <form></form> i powinno smigac
Diariusz
przeniosłem tag kończący formularz </form> do wiersza 35 i pomogło - Dzięki Dominis smile.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.