Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS][PHP] Temat drzewek
Forum PHP.pl > Forum > Przedszkole
marcin_qu
Generalnie chodzi o to aby jakoś skrypt drzewek połączyć z jquery, żeby wyświetlał tylko rodzica i po kliku na kategorię rozwijał się dalej.'
Drugie pytanie dotyczy w jaki sposób zrobić aby nowo stworzona kategoria była już podlinkowana po ID czyli np.:"blablabla.php?dzial=samochody&subcat=ciezarowe&id=34"
Trzecie pytanie jak zliczyć z tego skrypyu ilość znajdujących się wewnatrz danej podkategorii np. zdjęć

Oto link do paczki: LINK

a to link do stronki stronka

Z góry dzięki za pomoc w rozwiązaniu chociaż jednego z w/w problemu. Pozdrawiam

Ps. Tak przy okazji to skrypt na pewno się komuś przyda...
Dapi
Nie pobieram paczki, ale postaram się pomóc.

Co do pierwszego pytania to ja bym kombinował z css'owym display: none/block
oraz kodem
Kod
<script type="text/javascript">
           function zwin(co){
            var obiekt = document.getElementById(co);
            if (obiekt.style.display == 'block') {
               obiekt.style.display = 'none';
            }
           }
</script>

Nie pobieram paczki, więc dokładnie ci nie powiem jak to ma wyglądać,
ale na pewno coś jak pomyślisz wykombinujesz smile.gif


Co do drugiego, to dajesz jak masz np grafikę, albo chcesz podlinkować tekst
<a href="blablabla.php?dzial=samochody&amp;subcat=ciezarowe&amp;id=34">blabla</a>
jak masz dajmy na to diva, to onclick"location.href='blablabla.php?dzial=samochody&subcat=ciezarowe&id=34'"

następnie w blablabla.php dajesz warunek:

  1. if($_GET['dzial'] == 'samochody' & $_GET['subcat'] == ciezarowe){
  2. // wykonywane jeśli nie dzial to samochody
  3. if($_GET['subcat'] == ciezarowe){
  4. // wykonywane jeśli subcat to ciężarowe
  5. if($_GET['id'] != ""){
  6. // wykonywane jeśli id zostało podane
  7. //i tu jeśli dane pochodzą z bazy robisz takie myk:
  8. $id = $_GET['id']; // musisz odpowiednio zabezpieczyć, ale to już znajdziesz w necie ;)
  9. // i pobierając dane z bazy dajesz warunek where `id` = $id (z sql mam problemy, ale coś w ten deseń tongue.gif)
  10.  
  11. // ewentualnie jeśli dane nie pochodzą z bazy to robisz zamiast $_GET['id'] !=""
  12. // takie cóś: $_GET['id'] == "1" i lecisz po kolei
  13. }else{
  14. // wykonywane jeśli id nie zostało podane :)
  15. }
  16. }else{
  17. // wykonywane jeśli subcat nie został podany :)
  18. }
  19. }elseif($_GET['dzial'] == 'rowery'){
  20. // wykonywane jeśli dzial to rowery
  21. }else{
  22. // wykonywane jeśli dzial nie został podany :)
  23. }




Mam nadzieję, że o to chodziło i się przyda smile.gif Jak coś to pytaj.
marcin_qu
zaraz będę coś kombinował, ten skrypt strasznie jest namieszany i zanim do czegoś dojdę minął wieki tongue.gif. Dziękuję za wskazówki na pewno się przydadzą!
zegarek84
Cytat(marcin_qu @ 10.09.2010, 11:56:27 ) *
Trzecie pytanie jak zliczyć z tego skrypyu ilość znajdujących się wewnatrz danej podkategorii np. zdjęć
jeśli wszystkie dzieci są tego samego typu [czytaj zdjęcia] to wystarczy po prostu:
liczba_el = (prawy - lewy -1) / 2

jeśli są różnej kategorii to będziesz musiał najpierw pobrać wszystkie elementy [zależy w jakim języku] gdzie dzieci to elementy pasujące do równania:
lewy.rodzica < lewy.dziecka < prawy.rodzica

a następnie w pętli musisz przejrzeć typ dziecka...

zadałeś dosyć ogólnikowe pytania...
marcin_qu
ok to może na początek wkleję kawałek funkcji odpowiedzialnej za wyświetlanie drzewa:

  1. function nstPrintSubtree ($thandle, $node, $attributes)
  2. /* */
  3. {
  4. $wlk = nstWalkPreorder($thandle, $node);
  5. while ($curr = nstWalkNext($thandle, $wlk)) {
  6. // print indentation
  7. print (str_repeat("&nbsp;", nstWalkLevel($thandle, $wlk)*4));
  8. // print attributes
  9. $att = reset($attributes);
  10. while($att){
  11. // next line is more efficient: print ($att.":".nstWalkAttribute($thandle, $wlk, $att));
  12. print ($wlk['row'][$att]);
  13. $att = next($attributes);
  14. }
  15. print ("<br/>");
  16. }
  17. }


druga finkcja:
  1. function nstPrintTree ($thandle, $attributes)
  2. /* Prints attributes of the entire tree. */
  3. {
  4. nstPrintSubtree ($thandle, nstRoot($thandle), $attributes);
  5. }


no i wywołanie:
  1. <?php
  2. include "nstrees.php";
  3. include "treetest-config.php";
  4. $dbh = mysql_connect($ttest_host, $ttest_user, $ttest_pwd);
  5. if (!mysql_select_db($ttest_db))
  6. echo mysql_errno().": ".mysql_error()."<BR>";
  7. $thandle['table'] = "tree1";
  8. $thandle['lvalname'] = "lft";
  9. $thandle['rvalname'] = "rgt";
  10.  
  11. nstPrintTree($thandle, array("name"));
  12. ?>


Jak to obrobić już prawie cały dzień siedzę i chyba przerasta mnie to....sad.gif Ps. Pierwsze w życiu podejście do tematu drzewek...
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.