Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][CSS][PHP] Temat drzewek, Mam gotowy skrypt tylko jak go udoskonalić?
marcin_qu
post 10.09.2010, 10:56:27
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 17.07.2007

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


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...
Go to the top of the page
+Quote Post
Dapi
post 10.09.2010, 13:16:41
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


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.


--------------------
www.dapi.net.pl - Wiele technologii, jedna pasja.
Go to the top of the page
+Quote Post
marcin_qu
post 10.09.2010, 13:26:50
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 17.07.2007

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


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ą!
Go to the top of the page
+Quote Post
zegarek84
post 10.09.2010, 13:43:17
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


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...


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
marcin_qu
post 10.09.2010, 14:16:53
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 17.07.2007

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


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...
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:45