Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL][HTML] Jak zbudowac drzewo na podstawie danych z Mysql?
Forum PHP.pl > Forum > PHP
tokone
Witam serdecznie, jestem nowy na forum i jestem początkujący w tematyce PHP i relacjami jego z bazą MYSQL.

Potrzebuje pomocy, mianowicie mam zbudowana bazę mysql sa w niej 2 tabele "kategoria" i "podkategoria" Kategoria ma taka strukture:
ids - autoincrement
Nazwa - nazwa kategorii

Podkategoria ma taka strukturę:
ids2 - autoincrement
nazwa2 - nazwa podkategorii
idso - nr kategorii nadrzędnej

W jaki sposób zbudować z tego drzewko?



Pozdrawiam i dziękuję za pomoc!!!
Tokone
ayeo
Witam!

To jest zły sposób na drzewka. Zainteresuj się tzw Drzewkami Depesza winksmiley.jpg Jednak dzisiaj właśnie musiałem zrobić drzewko na podstawie takiej struktury. Jest na to kilka sposobów i każdy jest zły. Dodaj sobie jeszcze ścieżkę do tej tabeli. Tutaj funkcja, która zwraca właśnie ścieżkę:

  1. DROP FUNCTION IF EXISTS PATH;
  2.  
  3.  
  4. DELIMITER //
  5.  
  6. CREATE FUNCTION PATH( id INTEGER ) RETURNS VARCHAR(255)
  7. BEGIN
  8. DECLARE tmp INTEGER;
  9. DECLARE path VARCHAR(255);
  10.  
  11. SET @var := id;
  12. SET path = id;
  13.  
  14. WHILE( 1 = 1 ) DO
  15. SET tmp = (SELECT parent_id FROM tree WHERE id = @var );
  16. IF tmp THEN
  17. SET path = CONCAT(tmp,".",path);
  18. SET @var := tmp;
  19. ELSE
  20. RETURN path;
  21. END IF;
  22. END WHILE;
  23. END
  24.  
  25. //
  26.  
  27. DELIMITER ;


Kod nie jest najwyższych lotów, ale nie jestem mistrzem SQL biggrin.gif
tokone
Dzięki wielkie za pomoc!

Pozdrawiam
tokone
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.