Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem ze switch'em.
Forum PHP.pl > Forum > Przedszkole
Blame
Mam problem, który nie potrafię rozwiązać. Otóż mam sobie takiego switch'a
  1. switch ($_GET['akcja'])

I do tego mam sobie taki case:
  1. case 'usunzdj': // Usuwanie zdjęcia
  2.  
  3. $id=$_GET['id'];
  4. $link=mysql_query("SELECT * FROM galeria WHERE id='$id'");
  5. $wiersz=mysql_fetch_array($link);
  6. $nazwa=''.$wiersz['nazwa'].'';
  7. $folder='photos/';
  8. $minifolder='miniphotos/';
  9. unlink($folder.$nazwa);
  10. unlink($minifolder.$nazwa);
  11. mysql_query("DELETE FROM galeria WHERE id='$id'");
  12. echo 'Pomyślnie usunąłem wybrane zdjęcie!';

Jak widać powyższe powinno pobierać id z $_GET'a jednak tu jest problem. Jeśli dam sobie w adresie np. test.php?akcja=usunzdj to case się uruchamia(oczywiście nie działa) ale jak już dam test.php?akcja=usunzdj?id=ileś to przeskakuje mi do default. Czy z moim skryptem jest coś nie tak czy tak ma być? Jeśli tak ma być to chyba będę musiał to zamienić na if, które wydaje mi się wolniejsze od tego szczególnie jeśli było by ich kilka(if'ów i elseif'ów).
potreb
Dwa razy stosujesz znak zapytania w adresie

test.php?akcja=usunzdj?id=ileś

A powinien byc drugi ampersand &
Blame
Ja blady, masz rację. Dzięki, bo pewnie siedział bym nad tym skryptem i doszukiwał się błędów nie wiadomo gdzie. A jeszcze wracając do tematu szybkości. Czy switch jest szybszy od if i elseif? Wydaje mi się, że tak ale wolę się upewnić. Zawsze myślałem że przy if i elseif każdy warunek jest po kolei sprawdzany a w switch od razu przeskakuje do tego właściwego case'a. Zgadza się? No mimo wszystko dzięki za pomoc.
potreb
Szybkość? Możliwe że switch, zresztą budowa switcha mówi sama za siebie. Prostota w tworzeniu.
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.