![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 5.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam taka strukture bazy danych: [sql:1:015ad3e4c5] Tabela KATEGORIE ID Parent Nazwa ------------------------------- Przykladowe dane: ID PARENT Nazwa 1 0 a 2 0 b 3 1 c 4 2 d 5 3 e 6 5 f ---------------------------------- 2 tabela to PRODUKTY: id idkategorii opis [/sql:1:015ad3e4c5] No i problem moj polega na tym ze nie wiem jak wysietlic sciezke gdzie produkt znajduje sie w drzewie kategorii. NP. majac dane produktu z linku np. pokaz_produkty.php?id=14 (to id to id produktu o ktorym wysietlamy dane) - chce wysietlic liste kategorii do ktorej nalezy produkt np. HOME > a - > c - > f - |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
temat przeniesiony, dzięki Majdan
-------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 5.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Z tym juz sobie poradzilem - znalazlem potrzebna funkcje.
Podaje jej kod w razie jakby ktos tego potrzebowal. [php:1:82ebd3caf2]<?php <? include"config.php"; function get_category_tree($id) { $qid = mysql_query("SELECT PID, name FROM topics WHERE id = $id"); if (mysql_num_rows($qid)) { list($parent, $name) = mysql_fetch_row($qid); $name = "<a href='xx.php?id=$id'>$name</a>"; } else { $parent = 0; $name = ""; } if ($parent > 0) { return print_category_tree($parent) . " > " . $name; } elseif ($id > 0) { return "<a href='xx.php'>Top</a> > " . $name; } elseif ($id == 0) { return "<a href='shopping'>Top</a>"; } } function print_category_tree($id=false) { /* prints the category tree by calling get_category_tree */ echo get_category_tree($id); } get_category_tree($id); ?> ?>[/php:1:82ebd3caf2] Z tym problem z glowy lecz nie wiem jak wczytac drzewko z mojej struktury (tablea ma pola : id, parent, name) do pola typu Select w taki sposob. Kod aaaaaa
- ab - ac - ac1 - ac 2 bbbbbb - bba - bbc - bbd itd. Z gory dzieki za pomoc, bo z tymi drzewkami to mam straszne problemy - a niestety jeszcze na tym forum jest o nich malo. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
http://forum.php.pl/viewtopic.php?t=14595 - może to Ci pomoże.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 5.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Dzieki kodzik dziala ale chodzi mi o to zeby mozna w nim bylo ustalic od ktorego PID ma wysietlac drzewo. Standardowo ten kod pokazuje cale drzewo a ja chcialbym aby przy braku w linku parametru >link.php?kat wysietlal cale drzeow a jesli bedzie podany KAT to wtedy bedzie rysowal drzewo od tego miejsca. Probowalem w zapytaniu dac WHERE PID='$kat' lecz skrypt sie wysypal. Ponadto jak przy wysietlaniu kategorii (drzewa) zliczyc ile produktow nalezy do danej kategorii i napisac te liczbe podczas wysietlania drzewa. Z gory dzieki za pomoc. [php:1:001b84eda1]<?php <?php include'config.php'; $result = mysql_query("SELECT * FROM topics WHERE PID='$kat'"); $$resultArr = Array(); while( $row = @mysql_fetch_assoc( $result ) ) $resultArr[$row['PID']][] = Array( 'ID' => $row['ID'], 'NAME' => $row['NAME'], ); x( $resultArr[0], $resultArr ); function x( $tempArr, &$resultArr ) { echo('<ul>'); foreach( $tempArr as $aVal ) { echo( "<li><a href="".$aVal['ID']."">" . $aVal['NAME'] . "</a></li>n" ); if( is_array( $resultArr[$aVal['ID']] ) ) { x( $resultArr[$aVal['ID']], $resultArr ); } } echo('</ul>'); } ?> ?>[/php:1:001b84eda1] |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Co do wyświetlania całego drzewa czy jego fragmentów... wyciągaj całość drzewa, a dopiero w samym php decyduj co ma zostać wyświetlone.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:25 |