Wyświetlanie menu w formularzu

DZIAŁANIE:
Dokonaj wyboru :

 

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.