![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Baza danych przechowuje schematy pytan oraz pytania. Wiele schematow pytan moze posiadac to samo pytanie. liczba pytan jest zmienna. dla kazdego pytania musze utworzyc 6 radiobatonow odpowiadjacych odpowiedzi od 1 do 6. oraz pole komentarz. powstaje wiec takie cos:
[...] while ($row= mysql_fetch_row($rs)) { if ($row[0]= 1) { for ($x= 1; $x< 7; $x++) { echo '<input name="'.$p.'" type="radio" value="'.$x.'" />'; } } [...] to wywolywane jest w funkcji z formularzem. $p to id pytania dla ktorego echujemy radiobutony. dalej w komentarz : [...] echo '<tr><td colspan="3" class="komentarz">'; echo '<textarea rows="4" name="koment_'.$p.'" cols="78">'; echo @$_POST['koment_'.$p]; echo'</textarea></td></tr>'; [...] pytanie .... jak po kliknieciu przycisku akceptujacego formularz sprawdzic czy wszystkie odpowiedzi sa zaznaczone i jak sprawdzic dla jakiej $p zaznaczona zostala jaka odpowiedz ![]() prubowalem robic jakies krzaki typu przesylac $_POST[$p] ale to dziala jak $p bylaby niezmienna wartoscia anie dynamicznie generowana z bazy... POMOCY... ps: jak ktos mnie nie do konca rozumie a sadzi ze umialby mi pomoc to sprubuje wyjasnic dokladniej. PROSZE O POMOC |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wytłumacz dokłądniej. Na spokojnie, po kolei, co i jak...
![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
ok
![]() tresc pytania jest sobie tutaj. tutaj stringiem mam odpowiedz min radio1 radio2 radio3 ... radio6 odpowiedz maxymalna a tutaj pod spodem pole textarea do wpisania komentarza dla danego pytania. robie wiec zapytanie i while .... wypisuje dane. poczym dla kazdego pytania tworze 6 radiobutonow. w radiobatonie nazwa jest = id pytania do ktorego sie on tyczy, a wartosci to 1,2,3,4,5,6 z tad echo '<input name="'.$p.'" type="radio" value="'.$x.'" />'; potem jak zaznacze juz wszystkie odpowiedzi w formularzu, klikam sobie batona zapisz. funkcja obslugujaca moj formularz ma teraz sprawdzic czy kazde pytanie ma zaznaczonego jednego radiobatona, a nastepnie wstawic odpowiednie value do bazy danych jako odpowiedz na odpowiednie pytanie. gdyby $p to byla konkretna nazwa np echo '<input name="nazwa" type="radio" value="'.$x.'" />'; to nie ma problemu robie sobie $_POST['nazwa'] i wszystko git, ale tu mam zmienna, co wiecej, takich radiobatonow mam zawsze rozna ilosc. dzis moze byc ich 3 a jutro 100 pozdrawiam ... cos jeszcze wyjasnic ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ilość pytań możesz sobie trzymać w polu typu "hidden" w formularzy do wysłania. Pobierzesz ją mysql_num_rows(mysql_query("SELECT * FROM `pytania`")). Wtedy po wysłaniu formularza masz ją w zmiennej $_POST['ilosc'] na nastepnej stronie.
Co do radiobuttonów: sytuacja wygląda tak, że użytkownik albo zaznaczy jakiś radiobutton dla danego pytania, albo nie będzie on zaznaczony, nie? Innego wyjścia nie ma (na przykłąd dwa radio dla jednego pytania). Sprawdzanie czy wszystkie są zaznaczone możesz rozwiązać licząc elementy tablicy $_POST
Ten warunek trzeba odpowiednio zmodyfikować jeśli przesyłasz coś dodatkowego zmienną $_POST (tutaj mamy "minus jeden" bo ślemy jeszcze $_POST['ilosc'] która nie jest pytaniem. |
|
|
![]() ![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ilość pytań możesz sobie trzymać w polu typu "hidden" w formularzy do wysłania. Pobierzesz ją mysql_num_rows(mysql_query("SELECT * FROM `pytania`")). Wtedy po wysłaniu formularza masz ją w zmiennej $_POST['ilosc'] na nastepnej stronie. co do tego sie zgodze. zreszta to juz u siebie mam. dalsza czesc, dzieki, nie wpadlem na to ![]() a jak rozwiazac problem przyporzadkowania odpowiedniej odpowiedzi odpowiedniemu pytaniu i wstawienie ich do bazy ? jak to rozwiazac ? ![]() ![]() Ten post edytował Kangu 7.11.2006, 11:12:38 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
ale u mnie to nie dziala bo postem przesylam przeciesz mase innych rzeczy... a jak rozwiazac problem przyporzadkowania odpowiedniej odpowiedzi odpowiedniemu pytaniu i wstawienie ich do bazy ? jak to rozwiazac ? ![]() ![]() Ad1. To odejmij od count($_POST) ilość tych rzeczy i już ![]() Ad2. Co konkretnie masz na myśli? Przecież masz w tych radiobuttonach name i value. Jako name dajesz sobie id pytania i masz wtedy odpowiedź do danego id. Chyba, że coś innego masz na myśli. |
|
|
![]() ![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ad1. To odejmij od count($_POST) ilość tych rzeczy i już ![]() Ad2. Co konkretnie masz na myśli? Przecież masz w tych radiobuttonach name i value. Jako name dajesz sobie id pytania i masz wtedy odpowiedź do danego id. Chyba, że coś innego masz na myśli.
to powinno ulatwic sprawe. powyzej kod do ktorego trzeba obsluzyc wygenerowany formularz. musze sprawdzic czy wszystkie radio sa zaznaczone i jesli tak to dla kazdego pytania wstawic odpowiednia wartosc z radio i komentarz. czy to wyjasnia zagadnienie ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ech... polecam wyrobić sobie nawyk nazywania zmiennych nazwami im odpowiadającymi
![]() ![]() http://java.sun.com/docs/codeconv/html/Cod...tions.doc8.html Tutaj propozycje "javowskie" - z powodzeniem można je stosować do php Zdaj sobie sprawę, że trudno się analizuje kod, w którym zmienne są ponazywane $a, $b, $rt, $gwa czy jakoś podobnie (nawet Tobie po jakimś czasie będzie sprawiało to trudność). Ok, nauczyiel_mode off ![]() Na razie nie rozpracowywałem kodu, ale pierwsze co się rzuca w oczy, to na przykład to:
To jest przypisanie a więc zawsze prawda. Prawdopodobnie chodziło Ci o
Poza tym dobrze byłoby skomentować co to jest, żeby nie trzeba było się tego domyślać, na przykład:
Postaraj się to poprawić to o czym mówię, ja tymczasem spróbuję sprawdzić ten kod ![]() |
|
|
![]() ![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
co do zmiennych 3 literowych to na ogol tak nie robie ale juz dostawalem pier... kur... wkurzenia ;] no to walilem 3 litery ktore odpowiadaja notacji jaka mam na kartce przy tabelach bazy danych ktore sobie wydrukowalem awiec dla mnie sa zrozumiale, fakt, nie pomyslalem ze ktos inny moze miec problem. a juz na pewno nie sadzilem ze komus bede musial to pokazywac
![]() i wysle to jeszcze raz ... tak ? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Głupio pisać post na 3 litery, ale: tak
![]() |
|
|
![]() ![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
sory ze nie ma tu komentarzy, ale nie wiem co mam komentowac bo sadze ze wszystko jest zrozumiale. zwlaszcza teraz kiedy juz nazwalem zmienne po imieniu a nie po skrocie myslowym.
![]() czy to cos pomoglo ? jesli nie to powiedz co opisac szczegolowiej ... ![]() ![]() ![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm... do jednego pytania możesz mieć wygenerowane różne formularze: jeden przez select/option a drugie przed radiobutton. Zauważ, że name w tych formularzach różni się (w jednym to <numer_pytania> w drugim "ocena<numer_pytania>"). Rozumiem, że to dla wygody usera, żeby nie musiał mieć 100 radiobuttonów w formularzu? Jeśli tak, to raczej ustaw te same zmienne "name" w tych formularzach (np. name = "<numer_pytania>"). Wtedy będziesz miał jednolite nazwy zmiennych przesyłanych dalej. Po drugie: dlaczego nie możesz zastosować sposobu sprawdzania, który podałem wczesniej (oczywiście po odpowiedniej modyfikacji tych "name")?
Poza tym: zmień te warunki "if" o których mówiłem w postach wyżej - bo prawdopodobnie są źle. Ten post edytował misieq 7.11.2006, 13:46:23 |
|
|
![]() ![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
MASZ NA MYSLI COS TAKIEGOO
![]() ![]()
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie dokładnie. Sprawdzasz czy:
$iloscPytan == count($_POST) - $dodatkoweZmienne $iloscPytan - ile pytań wygenerował formularz count($_POST) - ilosc zmiennych $_POST $dodatkoweZmienne - ilość zmiennych przesyłanych $_POST'em ale nie należących do pytań |
|
|
![]() ![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
czyli zliczyc te wszystkie POST od p, oceniajacy, oceniany, badanie, itp
![]() ![]() |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
No na przykład
![]() |
|
|
![]() ![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
cos zle robie ... nie dziala mi to
zawsze jest blad albo zawsze jest dobrze nigdy nie ma tak zeby bylo jak trzeba ;/ |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłeś ten problem z ifami o którym wspominam już n-ty raz?
![]() |
|
|
![]() ![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 6.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
KROLU jestes gosc.... sprawdzanie dziala...
problem teraz z tym dodawaniem odpowiednich wynikow odpowiednim pytaniom ![]() ![]() ![]() ![]() ![]() no dobrze a powiedz mi jak wstawic do bazy odpowiednie value dla odpowiednich radio przy takim formularzu jak ten moj ? ![]() ps: problem z ifami poprawiony jakis czas temu Ten post edytował Kangu 7.11.2006, 15:46:44 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 1.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możesz przejść tablicę $_POST funkcją foreach i generować zapytanie wewnątrz pętli dla danego id i odpowiadającego value (UPDATE `wyniki` SET `odpowiedz` = '$odp' WHERE `id` = '$id' - coś na ten kształt). Tylko musisz uważać na pozostałe zmienne które przesłałeś do $_POST - nie bierz ich pod uwagę
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:14 |