Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generator Listy z MySQL
Gabrielx
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 2
Dołączył: 24.03.2009

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


Witam.

Załóżmy mam taką tabelę w MySQL:
Kod
1---Jeden----0
2---Dwa------0
3---Trzy------2
4---Cztery---2
5---Pięć------4
6---Sześć----0


Czyli po wyświetleniu powinno wyglądać tak:

Kod
|Jeden
|Dwa
||--Trzy
||--Cztery
|||------Pięć
|Sześć

Jak taki efekt osiągnąć generując z DB, za pomocą PHP. Czytałem trochę o RecursiveIteratorIterator oraz RecursiveIterator, lecz nie wiem za bardzo jak zastosować. Dodatkowo każdy element miałby mieć dodaną klasę css (w zależności czy da się rozwinąć, czy jest rozwinięty)

Ten post edytował Gabrielx 26.12.2012, 14:29:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
memory
post
Post #2





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

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


  1. private function children($rows, $id) {
  2. foreach ($rows as $row) {
  3. if ($row->parent_id == $id)
  4. return true;
  5. }
  6. return false;
  7. }
  8.  
  9. public function mapTree($rows, $parent = 0, $class = "li-menu") {
  10. $result = "<ul>";
  11. foreach ($rows as $row) {
  12. if ($row->parent_id == $parent) {
  13. $result.= "<li><a href='$row->url' class='$class' >$row->name</a>";
  14. if (children($rows, $row->id))
  15. $result.= mapTree($rows, $row->id);
  16. $result.= "</li>";
  17. }
  18. }
  19. $result.= "</ul>";
  20.  
  21. return $result;
  22. }


przykladowe dane
  1. id , name, parent_id +url
  2. 1---Jeden----0
  3. 2---Dwa------0
  4. 3---Trzy------2
  5. 4---Cztery---2
  6. 5---Pięć------4
  7. 6---Sześć----0
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: 26.12.2025 - 18:20