Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] drzewiaste menu
Maciekbjw
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

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


Witam,

mam taką tabele w bazie:
Kod
  
   pages
   -id_page
   -id_parent
   -title


Czyli prosta struktura drzewiasta.

Teraz wchodzę przykładowo w podstronę od id_page = 3, której id_parent wynosi 2, natomiast id_parent podstrony 2 wynosi 1, mamy więc:
Kod
   podstrona nr 1 >> podstrona nr 2 >> podstrona nr 3


Chcę zrobić taką właśnie nawigację na stronie.

Napisałem coś takiego:
  1. <?php
  2. public function getParent($i_IdPage)  
  3.      {  
  4.      
  5.         $subpages = array();  
  6.         $sql="SELECT * FROM pages WHERE id_page = $i_IdPage";  
  7.         $result = $this->db->prepare($sql);  
  8.         $result->execute();  
  9.         $row = $result->fetch();  
  10.          
  11.         if($row['id_parent'] > 0)  
  12.         {  
  13.             $subpages = array_merge($subpages,$this->getParent($row['id_parent']));  
  14.             $subpages[] = $row;  
  15.         }  
  16.         else  
  17.         {  
  18.             $subpages[] = $row;  
  19.         }  
  20.      
  21.         return $subpages;  
  22.     }
  23. ?>


Działa, tylko chciałbym zrobić tak, by pobierało mi tylko strony nadrzędne, bez tej obecnej, przykład:

  1. <?php
  2. $a = New PageModel;
  3. echo $a->getParent(3);
  4.  
  5. //dostaje cos takiego
  6. // podstrona nr 1 >> podstrona nr 2 >> podstrona nr 3 (ta ktorej ID wywolalem)
  7.  
  8. ?>


Pytanie: jak zrobić, by skrypt nie wyświetlał tej "podstrona nr3" (ta, która jest wywoływana)

Będę wdzięczny za sugestie i porady smile.gif

Pozdrawiam


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
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: 21.08.2025 - 03:33