![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 5.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem ze zmianą pól w bazie, dla wielu rekordów. Wyświetlam w formularzu rekordy z bazy i dla każdego z nich chce zmieniać jedno pole. Nie wiem jak powiązać to pole z rekordem, skoro w formularzu nie wpisuje danych i do zmiennej wrzucam pustą wartość.
Wyświetlam imie i nazwisko i chce zmienic nieobecnosci. Proszę o pomoc ![]()
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 30.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak i nie.
Twój przykład zakłada istnieje jednego przycisku submit który następnie iteruje po wszystkich polach nieobecności i wpisuje je do bazy. Z treści i kodu z pierwszego postu wywnioskowałem, że formularz składa się z wielu przycisków submit umieszczonych przy każdym polu tekstowym i wciśnięcie danego przycisku aktualizuje tylko dane pole, a konkretnie to które stało obok wciśniętego przycisku. Zgadzam się że tylko jeden przycisk może zostać wciśnięty, ale cała tablica $_POST['submit'] o której piszesz składa się tak naprawdę tylko z jednego pola (lub nie składa się z żadnego w przypadku gdy akcja jest inna niż wyslanie formularza przez POST), właśnie tego, które określa jaki przycisk był wciśnięty. Robimy więc foreach z dwóch powodów: 1) jeśli formularz nie został wysłany tylko odczytany to tablica będzie pusta i kod dodawania do bazy nie wykona się 2) robiąc foreach mamy pewność że używamy właściwego klucza do wstawienia odpowiedniego pola do bazy pod odpowiednim id. Można oba powyższe cele osiągnąć jeszcze na inne sposoby ale to było najprostsze i najbardziej intuicyjne co przyszło mi do głowy. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:00 |