Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie dynamicznego switch, PHP
futura
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 4
Dołączył: 4.01.2010

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


Witam,

Próbuje utworzyć dynamicznego switcha.

  1. $pliki = $core->query_result; //przypisanie listy dostępnych plików z bazy danych
  2. switch($p)
  3. {
  4. for($i=0;$i<count($pliki);$i++)
  5. {
  6. case "'".$pliki[$i]['pl_parametr_p']."'": $plik = "'dzialy/'".$pliki[$i]['pl_nazwa_pliku']."'"; break;
  7. }
  8. default: $plik = "dzialy/Glowna.inc.php"; break;
  9. }


Przykładowy case miałby wyglądać tak:

  1. case "centra_kosztowe": $plik = "dzialy/Centra_kosztowe.inc.php"; break;


gdzie "centra_kosztowe" to pl_parametr_p, a "Centra_kosztowe.inc.php" to pl_nazwa_pliku.

Problem jednak w tym, że nie można użyć pętli for w swtich.

Macie może jakiś innym pomysł na generowanie dynamiczne switcha?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
everth
post
Post #2





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Czyli $p dostajesz z GET-a jak rozumiem? Jeśli tak to kod może wyglądać tak:
  1. $p = $_GET['p'];
  2. $db = new PDO ($moja_konfiguracja_bazy);
  3. $row = $db->query("SELECT pl_parametr_p,pl_nazwa_pliku FROM twojatabela WHERE pl_parametr_p=".$db->quote($p))->fetch();
  4. if ($row) {
  5. header("Location: dzialy/".$row['pl_nazwa_pliku']);
  6. } else {
  7. header("Location: default.php");
  8. }

Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 00:45