Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy da się jakoś połączyć Instrukcje Switch z Pętlą For?
Forum PHP.pl > Forum > PHP
plastus321
Jeśli źle sprecyzowałem to ogólnie, to poprawie tongue.gif ale myślę że się domyślacie o co mi chodzi smile.gif

Mam takie pytanie...

Mam sobie kod taki przykładowy kod gdzie mi wyskakuje błąd paser "Parse error: syntax error, unexpected T_CASE in /var/www/virtual/hardcory.cba.pl/index.php on line":
  1.  
  2. for( $i = 1; $i <= 193; $i++ )
  3. {
  4. echo "<b><a href='index.php?page=$tablice[$i]'>$tablica[$i]</a></b><br />";
  5.  
  6. $zapytanie = "CREATE TABLE $tablice[$i] (id int NOT NULL AUTO_INCREMENT,
  7. miasto varchar(50), ocena varchar(30), zalozyciel varchar(3), data varchar(20),
  8. PRIMARY KEY(id))
  9. ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_polish_ci;";
  10. $wykonaj=mysql_query($zapytanie);
  11.  
  12. case "$tablice[$i]":
  13. echo "Działa?";
  14. break;
  15.  
  16. }

Oczywiście jest ten kod wycięty z środka, ponieważ tylko w tym momencie gdzie znajduje sie "case "$tablice[$i]":" wyskakuje błąd.

A teraz kod gdzie nie wyskakuje mi błąd ale nie działa jak trzeba...:
  1.  
  2. for( $i = 1; $i <= 193; $i++ )
  3. {
  4. echo "<b><a href='index.php?page=$tablice[$i]'>$tablica[$i]</a></b><br />";
  5.  
  6. $zapytanie = "CREATE TABLE $tablice[$i] (id int NOT NULL AUTO_INCREMENT,
  7. miasto varchar(50), ocena varchar(30), zalozyciel varchar(3), data varchar(20),
  8. PRIMARY KEY(id))
  9. ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_polish_ci;";
  10. $wykonaj=mysql_query($zapytanie);
  11.  
  12.  
  13. }
  14.  
  15.  
  16. case "$tablice[$i]":
  17. echo "Działa?";
  18. break;


... wspomniałem że nie działa jak trzeba, dlaczego? Ponieważ kod nie przyjmuje zmiennej i uznaje ją jako "default:" czyli w moim wypadku jakos strone główną.

I teraz mam prośbę do was...
Mianowicie o radę, jak zrobić by się nie narobić i nie wypisywać z 200 zmiennych do oddzielnego case'a tylko np. zrobić jakąś pętle i żeby raz napisać kod a nie bawić się tym...

Z góry bardzo dziękuje za pomoc! smile.gif
nospor
1) Case nie buduje się dynamicznie jak ma to miejsce u Ciebie
2) Skoro lecisz pętlą to równie dobrze możesz zrobić IF. Ba, nawet nie możesz a musisz.
plastus321
rozumiem że muszę napisać w pętli coś takiego przykładowo:
  1. if($page=$tablice[$i])
  2. {
  3. echo "to co bedzie na stronie";
  4. }else{
  5. echo "to co na startowej stronie";
  6. }


Temat można zamknąć, poradziłem sobie w inny sposób, ale dziękuje za chęci i pomoc smile.gif
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.