Pereiti prie turinio

[PHP] Kategorijos ir subkategorijos


Rekomenduojami pranešimai

Taigi niekad to nedariau, ir sumasčiau padaryti taip kaip įsivaizduoju nežiūrėdamas kaip daroma dažniausiai.

Klausimas būtu ar darau gerai ar išradinėju dvirati jei taip tai kodėl?

 

<?php
$cat = array ( 
   0 => array (
   'NAME' => 'PirmaCat',
   'SEONAME' => 'pirmcat',
   'PARENT' => array (
       0 => array ( 'SUBNAME' => 'SubCat1', 'SEONAME' => 'subcat1' )        
       )
   ),
   1 => array (
       'NAME' => 'AntraCat',
       'SEONAME' => 'antrcat',
       'PARENT' => ''
   ),
   2 => array (
       'NAME' => 'TrecCat',
       'SEONAME' => 'trcat',
       'PARENT' => array ( 
           0 => array ( 'SUBNAME' => 'SubCat1', 'SEONAME' => 'subcat1' ),
           1 => array ( 'SUBNAME' => 'SubCat2', 'SEONAME' => 'subcat2' )
       )
   )
);
?>

 

HTML

foreach ($cat as $rowcat) {

                       if (is_array($rowcat['PARENT'])) {

                           echo '<b>'.$rowcat['NAME'].'</b><br>';
                           foreach ($rowcat['PARENT'] as $rowparent) {
                               echo $rowparent['SUBNAME'].'<br>';
                           }
                           echo '<br>';

                       } else {
                           echo '<b>'.$rowcat['NAME'].'</b><br><br>';
                       }
                   }

 

Ir kaip tokiu atveju reiktu saugoti duomenys MySQL? kaip turėtu atrodyti lentelė pati kad gauti tokį masyvą kaip sukūriau viršuje?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O jei bus 3 ar 4 lygiu meniu kaip darysi toliau? pasirasyk rekursine funkcija. o duomenu bazeje gali saugoti Json'a arba serilizuota objekta/masyva arba tiesiog pasidaryti lentele kuri turetu lauka parent - kuriame saugotum meniu punkto id.

Redagavo Ere5
Nuoroda į pranešimą
Dalintis kituose puslapiuose

sveikinu, pradėjai naujo dviračio išradinėjimą :D čia kažkaip labai giliai viską padarei, paaiškink vienu sakiniu, ko tau reik.

Na šiaip viskas paaiškinta 2 žodžiais temos pavadinime :D

 

Noriu kuri kategoriją ir jei reikia priskirti ją jau sukurtai kaip sub kategoriją.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

nesupratau :D paaiškink paprasčiau

Na manau tada man bet kokiu atveju nepadėsi.

 

Yra toks dalykas ant TVS ar šiaip puslapiuose INTERNETINIUOSE kai sukuri kategoriją ir paskui tai sukurtai kategorijai dar sukuri SUBKATEGORIJĄ ir visą šitą chlamą atvaizduoji puslapyje aiškiai

 

Kategorija1

--Subkategorija1

 

Kategorija2

 

Kategorija3

--Subkategorija1

--Subkategorija2

 

Dabar aiškiau? :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na manau tada man bet kokiu atveju nepadėsi.

 

Yra toks dalykas ant TVS ar šiaip puslapiuose INTERNETINIUOSE kai sukuri kategoriją ir paskui tai sukurtai kategorijai dar sukuri SUBKATEGORIJĄ ir visą šitą chlamą atvaizduoji puslapyje aiškiai

 

Kategorija1

--Subkategorija1

 

Kategorija2

 

Kategorija3

--Subkategorija1

--Subkategorija2

 

Dabar aiškiau? :)

 

 

o dieve :D tai kam tau toks masyvas neaiškus išvis? tau reikia mysql užklausos kažkokios?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

As tai daryciau su 2 db lentelem: kategorijos ir subkategorijos

 

Kategorijos
id
name
...

SubKategorijos
id
name
cat_id
...

O po to su php+html atvaizduok viska

O kai reikės 3 lygių kategorijų, bus lentelė SubSubKategorijos? O kai keturių...?

Mintį turbūt pagauni.

Kategorijos
id
parent_id
...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

https://www.google.com/search?client=safari&rls=en&q=recursion&ie=UTF-8&oe=UTF-8

 

Beje, sio metu viena nesamone darau - http://nonamez.name/wdh/index.php/encoding/serialization, cia kaip tik rekursiskai masyvus printina, stai tavo pvz.

post-64109-0-15496600-1368125286_thumb.png

Redagavo apieviska
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...