Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle

Problema mare cu parintii= nervi ...

switch microtik
 Permis categoria B la 17 ani

Sfaturi pentru pregatirea de eval...

Crapaturi placa

cum imi accesez dosarul electroni...
 Momentul Aprilie 1964

Sursa noua - zgomot ?

A fost lansat Ubuntu 24.04 LTS

Pareri apartament in zona Berceni?
 Free streaming SkyShowtime de la ...

Skoda Fabia 1.0 TSI (110 CP)- 19 ...

Mezina familiei, Merida BigNine

The Tattooist of Auschwitz (2024)
 

checkbox tree ( js + css + php )

- - - - -
  • Please log in to reply
5 replies to this topic

#1
szerky

szerky

    Member

  • Grup: Members
  • Posts: 265
  • Înscris: 10.07.2008
Am o intrebare legata de CSS si JS & PHP .

Sa zicem ca am un array bidimensional in PHP ce contine toate categoriile si subcategoriile din MySQL .

Pt. a imi da seama ce fel de subcategorie este folosesc un camp level_id care functioneaza pe principiul asta :
1 = categorie , 2 =subcategorie , 3= sub subcategorie ..

Toate astea le-am stocate intr`un array si le trimit in TPL printr-un assign .

Acum ma gandesc ca trebuie sa folosesc o tehnologie client side adica JS .

Ce vreau sa fac ?

In prima instanta din TPL sa afisez doar categoriile cu LEVEL 1 . Iar toate categoriile care contin subcategorii sa le pun un Icon in dreapta astfel incat atunci cand userul da click pe acel icon sa afiseze imediat urmatorul LEVEL .

Adica daca a dat click pe o categorie cu LEVEL 1 si ea contine subcategorii atunci din CSS sa apara un drop down ce contine subcategoriile lui LEVEL 1 adica superior Smile .


Are cineva idee cum as putea face asta in JS ?

Ma intereseaza doar ideea Smile

#2
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postszerky, on Sep 13 2008, 10:06, said:

Pt. a imi da seama ce fel de subcategorie este folosesc un camp level_id care functioneaza pe principiul asta :
1 = categorie , 2 =subcategorie , 3= sub subcategorie .
Eu as zice sa normalizezi tabelul respectiv inainte de toate. Pt structuri de date ierarhice ai nevoie de "id" si "parent_id", caci cu "level_id" (presupun ca aici salvai nivelul de "indentare" nu prea ai ce face) exista inconsistente. Scoti intregul arbore de date din db si il salvezi intr-un arbore recursiv (cu array-uri) care sa reflecte exact structura ta ierarhica. Cu functiile php pt json poti apoi exporta usor acea structura in format obiect inteles de javascript.

#3
szerky

szerky

    Member

  • Grup: Members
  • Posts: 265
  • Înscris: 10.07.2008
Pt. structura ierarhica am 3 campuri : left_id , right_id si level_id .

folosesc metoda asta : http://www.sitepoint...data-database/2

in smarty am un foreach la arrayul bidimensional scos din DB :

[{foreach key=key item=categz from=$tcategs}]

.....


Iar JSON din pacate nu am pe hosting , am PHP 4.3.11.

Edited by szerky, 13 September 2008 - 10:37.


#4
MembruAnonim

MembruAnonim

    MembruAnonim

  • Grup: Banned
  • Posts: 398,284
  • Înscris: 08.10.2015

Quote

Iar JSON din pacate nu am pe hosting , am PHP 4.3.11.
JSON este, așa și cum îi spune și numele (javascript bla bla bla) client side. Este echivalent cu a spune că nu ai flash sau xml instalat pe server ... ;)
Pe scurt, pe partea de server (php sau orice altceva) tu generezi un fișier care în final va avea o sintaxă corectă JSON

Ce vrei tu să faci, este destul de simplu: generezi o listă cu toate elementele iar fiecare subcategorie o bagi într-un alt element din listă. Ceva de genul:
<ul>
 <li>categorie
  <ul>
   <li>Subcategorie</li>
  </ul>
 </li>
 <li>categorie</li>
 <li>categorie
  <ul>
   <li>Subcategorie</li>
  </ul>
 </li>

(NU am uitat niciun tag la liste, așa că ai grijă!). După ce faci asta, cu orice librărie poți manipula foarte ușor listele astea. Din css faci ceva de genul:

ul ul {
display:none
}

Iar din javascript... cred că te descurci :)

#5
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Posti0nutzb, on Sep 14 2008, 23:56, said:

JSON este, așa și cum îi spune și numele (javascript bla bla bla) client side. Este echivalent cu a spune că nu ai flash sau xml instalat pe server ... ;)
Era vorba de http://php.net/manua.../json.setup.php

#6
xnoise

xnoise

    Active Member

  • Grup: Members
  • Posts: 1,310
  • Înscris: 08.02.2007
cred totusi ca cel mai simplu, bazat pe legatura parinte-copil, este sa asignezi markere. un exemplu destuld e simplu este meniul de pe paginile de pe www.1001case.ro. Acolose foloseste proprietatea rel ca marker impreuna cu clase pe copii directi. se poate merge mult mai departe si este o structura extrem de customizabila.

Avantajele unei clase ca marker sunt destul de semnificative.

1: Nu ai nevoie de liste suplimentare pt simplul motiv ca nu isi au rostul. Poti construi foarte usor marcajele vizuale bazandu-te pe clasa copiilor.
2: este destul de rapid (de evitat documente excesiv de lungi pt ca se foloseste clasa ca marker, astfel incat trebuie parsat tot domul in cautarea elementelor care trebuiesc deschise).

Mult succes.

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate