Podkategorie, wyświetlanie

2011-12-15 15:01:07 Post #1 gość_gosc_12

 
http://imageshack.us/f/828/bazad.jpg
- wygląd tabeli kategorii.

Kod odpowiedzialny za wyświetlenie kategorii:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
include 'Category_model.php';
include 
'Advert_model.php';
$nr $_GET['id'];

function 
show_category($nr){

    
    try
        {
            
$pdo = new PDO('mysql:host=localhost;dbname=advert''root''');
            
$pdo -> setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
      
            
$stmt $pdo -> query("SELECT * FROM category where `parent` = $nr");
            
            
            echo 
"<ul>"
            
            foreach (
$stmt as $row){
                echo 
"<li><a href=category_view.php?id={$row['id']}> {$row['name']}</a>".show_category($row['id'])."</li>";
                
                }
                echo 
"</ul>";
                
//$id = $_GET['id'];
                
}
  
    
    

            
       
       catch(
PDOException $e)
                {
           echo 
'Połączenie nie mogło zostać utworzone: ' $e->getMessage();
           
           }
   
   }
   
   
show_category($nr);



- udało mi się coś takiego zrobić lecz ciągle wyświetlają się wszystkie podkategorie.
Chciałbym aby nie wyświetlało mi tej podkategorii "astra" odrazu a dopiero po kliknięciu na "dostawcze". Tutaj jest rysunek: http://img215.imageshack.us/img215/3066/aasfasdgasdg.jpg


Nie wiem jak do tego podejść, bardzo proszę o poradę i pomoc.

2011-12-15 15:27:42 Post #2 nospor

 
Rekurencyjnie odpalasz show_category() więc nic dziwnego, że ci wszystko pobiera.
Musisz tej funkcji powiedzieć, czy ma pobierać kolejny poziom czy nie
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
include 'Category_model.php'
include 
'Advert_model.php'
$nr $_GET['id']; 

function 
show_category($nr$next){ 

     
    try 
        { 
            
$pdo = new PDO('mysql:host=localhost;dbname=advert''root'''); 
            
$pdo -> setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION); 
       
            
$stmt $pdo -> query("SELECT * FROM category where `parent` = $nr"); 
             
             
            echo 
"<ul>";  
             
            foreach (
$stmt as $row){ 
                echo 
"<li><a href=category_view.php?id={$row['id']}> {$row['name']}</a>".($next show_category($row['id'],false) : '')."</li>"
                 
                } 
                echo 
"</ul>"
                
//$id = $_GET['id']; 
                

   
     
     

             
        
       catch(
PDOException $e
                { 
           echo 
'Połączenie nie mogło zostać utworzone: ' $e->getMessage(); 
            
           } 
    
   } 
    
   
show_category($nr,true);
?>

2011-12-15 15:37:44 Post #3 gość_gosc_12

 
Bardzo dziękuję Działa jak należy
Pozdrawiam!

Odpowiedz