Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> switch() i zmienna liczba case
tomek_swat
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 3.04.2008

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


witam
postaram się w miarę jasno napisać na czym polega mój problem, otórz mam funkcję
  1. <?php
  2. function wysw_kategorie(){
  3.  
  4. if(polaczenie()){
  5. $query = "SELECT IdKategorii, NazwaK FROM Kategoria";
  6. $result = mysql_query($query);
  7.  
  8. echo '<ul id="kategorie">';
  9.  
  10. while(list($id,$nazwa)= mysql_fetch_row($result)){
  11. echo '
  12. <li><a href="?m='.$id.'">'.$nazwa.'</a></li>';
  13. } 
  14. echo '</ul>';
  15. }
  16. else {
  17. echo 'Nie połączono';
  18. }
  19.  
  20.  
  21. }
  22. ?>

która wypisuje mi linki jako elementy listy, pobiera dane z bazy tak jak chce, w pewnym miejscu w pliku index.php mam:

  1. <?php
  2. switch ($_GET['m']) {
  3. case 'produkty':
  4. echo 'produkty';
  5. break;
  6. case 'regulamin':
  7. echo 'regulamin';
  8. break;
  9. case 'rozmiary':
  10. echo 'rozmiary';
  11. break;
  12. case 'kontakt':
  13. echo 'kontakt';
  14. break;
  15. case 'koszyk':
  16. echo 'koszyk';
  17. break;
  18. default:
  19. echo 'strona główna';
  20. break;
  21. }
  22. ?>

problem polega na tym jak to sprytnie rozwiązać, żeby liczba case`ów obsługiwała liczbę kategorii znajdujących się w bazie, aby nie trzeba było wpisywać tego na sztywno?

pzdr
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ddiceman
post
Post #2





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


  1. <?php
  2. $arrKategorie = array();
  3.  
  4. function wysw_kategorie(){
  5. global $arrKategorie;
  6.  
  7. if(polaczenie()){
  8. $query = "SELECT IdKategorii, NazwaK FROM Kategoria";
  9. $result = mysql_query($query);
  10.  
  11. echo '<ul id="kategorie">';
  12.  
  13. while(list($id,$nazwa)= mysql_fetch_row($result)){
  14. $arrKategorie[$id] = $nazwa; // uzupelnianie globalnej tablicy zawierajacej nazwy kategorii
  15. echo '
  16. <li><a href="?m='.$id.'">'.$nazwa.'</a></li>';
  17. } 
  18. echo '</ul>';
  19. }
  20. else {
  21. echo 'Nie połączono';
  22. }
  23.  
  24.  
  25. }
  26. ?>

  1. <?php
  2. //sprawdzanie, czy dany element istnieje na liscie kategorii
  3.  if(in_array($_GET['m'], $arrKategorie))
  4.  echo $_GET['m'];
  5.  else 
  6.  echo 'strona główna';
  7. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 09:13