Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Tablica GET
MILICJA
post
Post #1





Grupa:
Postów: 31
Pomógł: 3
Dołączył: 25.08.2006

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


Witam ponownie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Mam pewien problem z tablica $_GET[]. Chce zbudowac sobie przelacznik (switch) ktory bedzie ta tablice skanowal i w zaleznosci od jej zawartosci wykonywal jakies akcje. Zbudowalem sobie cos takiego, ale jak sie pewnie domyslacie nie dziala (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jesli ktos ma jakis pomysl badz gotowa rade, niech da znac. Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

  1. <?php
  2. switch ($_GET[]) 
  3. {
  4. case 'a' : akcja1(); break;
  5. case 'b' : akcja1(); break;
  6. // itd.
  7. }
  8. ?>
Go to the top of the page
+Quote Post
sobstel
post
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


$_GET, a nie $_GET[].

p.s. na przyszłość podaj komunikat błędu itp.
Go to the top of the page
+Quote Post
MILICJA
post
Post #3





Grupa:
Postów: 31
Pomógł: 3
Dołączył: 25.08.2006

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


heh (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ten kod tutaj jest pisany z glowy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nie w nawisach tkwi problem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Sprobuj sobie takie cos napisac i zobaczysz ze nie dziala.
Go to the top of the page
+Quote Post
l0ud
post
Post #4





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


$_GET to jest tablica. Instrukcja switch nie odnosi się do tablic - musisz podać konkretną wartość np. $_GET['zmienna'] . Napisz konkretniej w jaki sposób chcesz przekazywać dane do skryptu, skoro tak dziwnie je odczytujesz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
MILICJA
post
Post #5





Grupa:
Postów: 31
Pomógł: 3
Dołączył: 25.08.2006

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


Dobra napisze inaczej. Chce aby w zaleznosci od $a wykonywala sie jakas funkcja. Np. jesli $a = '1' to wykonuje się akcja1(); . Chcialem to rozwiazac uzywajac wlsanie switch a nie ( if/elseif itd.. ). Moze jest jakies inne rozwiazanie mojego problemu.
  1. <?php
  2. switch ($_GET[$a]) 
  3. {
  4. case '1' : akcja1(); break;
  5. case '2' : akcja2(); break;
  6. // itd.
  7. }
  8.  
  9.  
  10.  
  11. ?>
Go to the top of the page
+Quote Post
l0ud
post
Post #6





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Załóżmy że masz index.php i przekazujesz do niego zmienną w ten sposób: index.php?a=1

  1. <?php
  2. switch ($_GET['a']) 
  3. {
  4. case '1' : akcja1(); break;
  5. case '2' : akcja2(); break;
  6. // itd.
  7. }
  8.  
  9. ?>



W kodzie który dałeś, odwołujesz się do elementu tablicy o indeksie równym wartości zmiennej $a, która nie istnieje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Tak jak wyżej jest poprawnie.
Go to the top of the page
+Quote Post
MILICJA
post
Post #7





Grupa:
Postów: 31
Pomógł: 3
Dołączył: 25.08.2006

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


Nie o to mi chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Sprobuje jeszcze inaczej albo sie poddam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) chce sprawdzic czy w adresie znajdue sie zmienna 'a' tzn. adres wyglada tak: www.mojastrona.pl?a=1234

i wtedy w switchu ma mi znalezc cos takiego

  1. <?php
  2. case 'a' : jakasfunckja(); break; // wykona sie dla www.mojastrona.pl?a=1234
  3. case 'b' : jakasfunckja2(); break; // wykona sie dla www.mojastrona.pl?b=45
  4. ?>
Go to the top of the page
+Quote Post
l0ud
post
Post #8





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


No to nie jest switch do tego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Przykłady:

Sprawdzenie czy w adresie znajduje się zmienna a
  1. <?php
  2. if (isset($_GET['a'])) funkcja();
  3. ?>


Wykonanie akcji w zależności o tego, jaka zmienna jest w adresie:

  1. <?php
  2. foreach ($_POST as $key) {
  3.  switch ($key) {
  4. case 'a': //zmienna a istnieje
  5.  funkcja();
  6.  break;
  7. case 'b':
  8.  funkcja2();
  9.  break;
  10. default:
  11.  funkcja3();
  12.  break;
  13.  }
  14. }
  15. ?>


Ale nie wiem po co Ci takie coś (IMG:http://forum.php.pl/style_emoticons/default/tongue.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: 26.08.2025 - 05:38