Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Switch case w switch casie - metoda GET
Forum PHP.pl > Forum > Przedszkole
przemek3741
Witam. Tworzę pewną stronę, w której menu funkcjonuje przy użyciu switch case i include, wyświetlając odpowiednio przez pobranie metodą GET konkretnej strony.
Gdy umieszczam drugą konstrukcje switch case w jednej z nich i pobieram GETem kolejną zmienną, którą switchuje, nie wyświetla odpowiedniej strony tylko wraca do 1.

  1. if(isSet($_GET['strona'])) {
  2. $strona1=$_GET['strona'];
  3. switch($strona1) {
  4. case '1': include('1.php'); break;
  5. case '2': include('2.php'); break;
  6. case '3':
  7. $strona2=$_GET['podstrona'];
  8. switch($strona2) {
  9. case '3a': include('3a.php'); break;
  10. case '3b': include('3b.php'); break;
  11. default: include('3a.php'); break;
  12. }
  13. break;
  14. default: include('1.php'); break;
  15. }
  16. }
  17.  
  18.  
Tomplus
Zrobiłem małą przeróbkę aby móc potestować ten kod. I Działa jak trzeba.
Aha... nie musisz duplikować CASE aby wyświetlić to samo wystarczy, albo samo DEFAULT, albo:
CASE 'cos':
DEFAULT:


Oczywiście u Ciebie link musi wyglądać tak:
//domenka.pl/index.php?strona=3;podstrona=b -> Wyświetli 3B
//domenka.pl/index.php?strona=3;podstrona=c -> wyświetli 3A
//domenka.pl/index.php?strona=1;podstrona=d -> wyświetli 1

  1. $strona1 = '3';
  2. $strona2 = '3b';
  3.  
  4. switch($strona1) {
  5. case '2': echo 2; break;
  6. case '3':
  7. switch($strona2) {
  8. case 'b': echo '3B';break;
  9. case 'a':
  10. default: echo '3A'; break;
  11. }
  12. break;
  13. case '1':
  14. default: echo 1; break;
  15. }


Przy takim układzie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.