Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Nie działający SWITCH
-gosc-
post
Post #1





Goście







Witam, mam sobie switch:

  1. <?php
  2.                                                            
  3.                                
  4.                                
  5.        if(!isset($_GET['pokaz']))
  6.        {
  7.                $_GET['pokaz'] = "";
  8.        }
  9.                                                        
  10.    
  11. switch ($_GET['pokaz'])
  12. {
  13.                                    
  14.                                
  15. case "artykul":
  16.  
  17.                                $zapytanie =  $pdo -> query('SELECT * FROM articles WHERE id = "'.$_GET['id'].'"');
  18.                                $row = $zapytanie -> fetch();
  19.                                                        
  20.                                $icon =  $pdo -> query('SELECT * FROM icons WHERE id = "'.$row['kategoria'].'"');
  21.                                $row2 = $icon -> fetch();
  22.                                    
  23.                                        
  24.                                if($row['tresc'])
  25.                                    {
  26.                                                    $zapytanie3 =  $pdo -> query('SELECT nick, id FROM users WHERE id = "'.$row['poster'].'"');
  27.                                                    $row3 = $zapytanie3 -> fetch();
  28.                                                    
  29.                                                    $tpl -> assign('tytul', $row['tytul']);
  30.                                                    $tpl -> assign('tresc', $row['tresc']);
  31.                                                    $tpl -> assign('data', $row['data']);
  32.                                                    $tpl -> assign('icon', $row2['img']);            
  33.                                                    $tpl -> assign('icon_name', $row2['nazwa']);                                
  34.                                                    $tpl -> assign('user_id', $row3['id']);
  35.                                                    $tpl -> assign('poster', $row3['nick']);
  36.                                                    $tpl -> assign('news_id', $_GET['id']);
  37.                                                    
  38.                                                    $tpl -> display('detailnews.tpl');
  39.                                         }
  40.                            else echo "<div class=\"info\">Brak artykułów.</div>";        
  41.  
  42.  
  43. break;    
  44.    
  45.    
  46.    
  47. default:        
  48.                                
  49.                                $zapytanie_on =  $pdo -> query('SELECT * FROM articles  ORDER by data DESC');
  50.                                
  51.                                $kolor[0] = '#FFFFFF';
  52.                                $kolor[1] = '#f9f9f9';    
  53.                                $a = 1;    
  54.                            
  55.                                foreach ($zapytanie_on as $row)
  56.                                {
  57.                                                        $icon =  $pdo -> query('SELECT * FROM icons WHERE id = "'.$row['kategoria'].'"');
  58.                                                        $row2 = $icon -> fetch();
  59.  
  60.                            
  61.  
  62.                                                    $tpl -> assign('background', $kolor[($a % 2)]);
  63.                                                    $tpl -> assign('data', $row['data']);
  64.                                                    $tpl -> assign('tytul', '<a href="?pokaz=artykul&id='.$row['id'].'">'.$row['tytul'].'</a>');
  65.                                                    $tpl -> assign('icon', $row2['img']);            
  66.                                                     $tpl -> assign('icon_title', $row2['nazwa']);                                
  67.  
  68.                                                         $tpl -> display('allnews.tpl');
  69.                                        $a++;                    
  70.                                }
  71.                                
  72. break;
  73.    
  74. }
  75.                                                
  76.                        
  77.  
  78. ?>



i default ładnie się wyswietla, ale juz case artykul nie, jak wciskam na link:
  1. <?php
  2. $tpl -> assign('tytul', '<a href="?pokaz=artykul&id='.$row['id'].'">'.$row['tytul'].'</a>');
  3. ?>

przechodzi na strone główna ignorując case, tak jak by go nie było... tak samo robiłem newsy i wszystko działało teraz nie mam pojęcia co nie gra... może ktos pomóc?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


  1. <?php
  2. case 'artykul':
  3. ?>


Pewnie nie zadziała, ale wyprintuj sobie geta i zobaczy czy dane sa poprawnie przesyłane + czy zmienna pokaz nie istnieje gdzieś indziej

Ten post edytował potreb 2.10.2008, 12:20:10


--------------------

Go to the top of the page
+Quote Post
-gosc-
post
Post #3





Goście







GET przesyla to co trzeba,

switch[pokaz] było w innym pliku ale nie bylo incudowane w tej chwili, nawet przy zmianie na np. pokaz_art nie działa...
Go to the top of the page
+Quote Post
melkorm
post
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


przekopiowałem na żywca Twój kod. dałem przed switchem :

  1. <?php
  2. $_GET['pokaz'] = 'artykul';
  3. ?>


następnei dałem :

  1. <?php
  2. case "artykul":
  3. echo 1;
  4. ?>


I otrzymałem na ekranie 1 .


--------------------
Go to the top of the page
+Quote Post
JoShiMa
post
Post #5





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


A może to problem ze znakiem & w linku. Bezpieczniej jest pisać &amp;

Najlepiej przed switchem wyświetl sobie wszystkie wartości tablicy $_GET.


--------------------
Go to the top of the page
+Quote Post

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: 19.08.2025 - 07:02