Wyświetlanie menu w formularzu
| DZIAŁANIE: |
|
Kod:

Ewentualne Objaśnienia:
Ten przykład to dokładnie to samo działanie co w lekcji poprzedniej, jednak jak już wspominałem w tamtym przykładzie tutaj zawarliśmy opcje formularza w tablicy asocjacyjnej, a identyfikacja wyboru użytkownika wykonywana jest poprzez poznaną już pętle foreach. Taki sposób jest lepszy choćby z racji "ładniejszego" zapisu, ale także warto pamiętać o tym, że wszelkie zmiany w formularzu ( treści ) dokonujemy tylko raz w tablicy asocjacyjnej $opcje.
Działanie kodu myślę, jest proste i zrozumiałe. Zwróćcie uwagę na sposób wykrywania, że wybrana wartość ( jest to generalnie tutaj nie możliwe, ale możliwe przy polach tekstowych choćby ) nie zostaje znaleziona w tablicy.
Jeśli zrobilibyście to w pętli dając instrukcję else do :
if ( $klucz == $_POST['opcja'] )
To jaki byłby efekt ?? Zastanówcie się dobrze, efekt byłby zły ! Dlaczego ??
Sęk w tym, że instrukcja else nie działałaby jedynie wtedy kiedy w tablicy
$opcje w ogóle nie byłoby danego wpisu, ale za każdym razem w pętli. Czyli nawet
jeśli wpis byłby w tablicy no to ten jeden raz by ona nie była wykonywana ( a z
nią wyświetlana jakaś wiadomość czy coś np że nie ma takiego rekordu w bazie
)ale pozostałą liczbę razy wiadomość ta by była wyświetlana ( mimo iż rekord
taki w bazie ( tablicy ) jest ).
Przychodzi też na myśl instrukcja break; - jeżeli w pętli znajdzie się taki
rekord ( jak ten wpisany ) no to pętla kończy działanie. Racja ! Ale działałoby
to jedynie jeżeli wpisany ( tutaj akurat wybrana opcja ) tekst byłby pierwszym w
kolejności w tabeli ( tutaj piłka nożna ). Przy pozostałych opcjach pętla i tak
przeszłaby przez daną liczbę wpisów w tablicy, zanim dotarłaby do tego
szukanego. Dlatego tutaj z pomocą służy nam zmienna $znal. Jej działanie jest
proste, mam nadzieję, że na tym poziomie kursy każdy z Was jest w stanie
prawidłowo i logicznie rozpracować, zinterpretować i zrozumieć kod.