Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czy da się jakoś połączyć Instrukcje Switch z Pętlą For?, Powiedzcie mi czy jest jakiś sposób...
plastus321
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 10.05.2011
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Jeśli źle sprecyzowałem to ogólnie, to poprawie (IMG:style_emoticons/default/tongue.gif) ale myślę że się domyślacie o co mi chodzi (IMG:style_emoticons/default/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! (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
plastus321
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 10.05.2011
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 16:06