![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 21.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Otóż mam taki oto formularz:
Wyświetla on X studentów dla wybranego wcześniej przedmiotu. Jeżeli wpiszę ocenę wybranemu studentowi chciał bym aby system wymagał też wpisania daty i komentarza. Nie mogę niestety skorzystać z opcji:
ponieważ formularz jest w pętli foreach i wtedy nie puści zapisania, jeżeli WSZYSTKIE pola nie będą wypełnione. Chciał bym, aby sprawdzane były tylko pola tych studentów, u których coś zostało już wpisane (np. wpisałem ocenę, nie wpisałem daty, wpisałem komentarz - system informuje, że data nie została wpisana i należy ją wpisać). Da się to zrobić? Może jakiś skrypt? Ten post edytował x X x 21.03.2014, 00:19:58 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 10 Dołączył: 13.03.2014 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Nigdy nie pisałem tak formularza. Zawsze jechałem standardowo + przesyłanie do mysql, ale możesz sprawdzić to:
Oczywiście potem musisz podmienić nazwy. Napisz czy działa (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 21.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
@UP: tylko gdzie to wrzucić? Do wartości (value) w inpucie? To tak nie będzie, zwłaszcza to wyświetlanie błędu.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
A jeszcze lepiej oprzeć to na try catch Ten post edytował Turson 21.03.2014, 08:39:17 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 21.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tylko gdzie ja mam to wrzucić ? Bo przecież nie do value w znaczniku <input>..
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 21.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nadal nie wiem jak to zastosować. Po pierwsze dlatego, że nie dodaje pojedynczych danych a tablicę danych. Po drugie - wrzuciłem co trzeba, sprawdziłem - nie działa.
Tak wygląda moja funkcja, która odpowiada za dodawanie rekordów do bazy:
Myślałem, aby zrobić tak jak jest w komentarzu, że jeżeli ocena jest wpisana, a data lub komentarz nie wyświetli się komunikat (najlepiej okno) z info, że nie wypełniono wszystkich pól. Samo echo nic nie daje, tak czy inaczej po naciśnięciu submita formularz się chyba wysyła - strona przechodzi do widocznego includa. Proszę pamiętać, że operuję na tablicy. Jeżeli mam formularz X studentów i wpiszę oceny tylko dla 3 i 10 studenta w formularzu, to dzięki powyższej funkcji zostaną dodane rekordy tylko dla 3 i 10 studenta z formularza. To jak jest ktoś w stanie pomóc z tym skryptem? Ewentualnie jakoś inaczej da się to zrobić? Edycja: Bardzo proszę o jakieś rady. Czy da się coś z tym zrobić? Sprawdzanie tych pojedynczych pól w formularzu umieszczonym w pętli foreach (wyświetlanie wielu takich samych wierszów formularza)? Chciał bym też prosić o pomoc w sprawie z tym związanej:
Oto funkcja dodająca oceny do bazy danych. Chciał bym zrobić tak, że jeżeli prowadzący nie wpisze żadnej oceny a kliknie przycisk DODAJ pojawi się informacja (może być w tym includowanym pliku, albo po odświeżeniu na górze formularza), że nie wpisał żadnych danych. Nie mogę sobie z tym poradzić, ani echo ani SetMessage nie wyświetla danych po sprawdzeniu warunku. Na pewno trzeba tam zastosować odpowiednio IFa. Mój formularz, jak widać w załączonym kodzie, przesyła następujące dane:
z tym, że dwa pierwsze elementy są wysyłane w formularzu zawsze, niekoniecznie czy pozostałe elementy są wpisane czy nie. Na to przynajmniej wskazuje konsola w przeglądarce Chrome. Dlatego też uważam, iż trzeba to wziąć pod uwagę konstruując warunek IF, co próbowałem zrobić, tak jak widać na załączonym kodzie. Proszę o rady, pomoc. Sprawa bardzo pilna! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:24 |