Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako da loopujem ovaj dijagram bas kako je na slici

[es] :: PHP :: Kako da loopujem ovaj dijagram bas kako je na slici

[ Pregleda: 8265 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
109.122.107.*



+7 Profil

icon Kako da loopujem ovaj dijagram bas kako je na slici25.10.2016. u 00:44 - pre 91 meseci
E drustvo nesto mi ne ide od ruke da prikazam ovakav family tree dijagram u browseru iz pomoc php, mysql i html!
Bas mi treba da bude kao na slici! Ja sam pokusavao petlja u petlji (foreacah u foreach) ali jok ne da radi to sve vuce na svoju stranu. Pa sam pokusao da izlistam sve pa onda prente pa parente tih parenta ali ne dobijam nikako ni slicno slici....

Evo dijagrama:
http://fotkica.com/slike.php?slika=1_98490138_MUE4z.jpg

A evo kako mi baza izgleda:
http://fotkica.com/slike.php?slika=1_98490138_Screenshot_2_3.jpg

Jel moze uopste da se ovako izlista kao sto je na slici i kako ja to da izvedem ubih se mozgajuci i pokusavajuci ova dva dana!!!

Dajte neki simple primer ili savet!

Evo mog test pokusaja :

Code:

<div class="container">
         <?php

        $categories = $db->query("SELECT * FROM category");
        $data = array();

        // build menu
        function buildTree(array $elements, $parentId = 0) {
            $branch = array();

            foreach ($elements as $element) {

                if ($element['parent'] == $parentId) {
                    $children = buildTree($elements, $element['category_id']);
                    if ($children) {
                        $element['children'] = $children;
                    }
                    $branch[] = $element;
                }
            }
            return $branch;
        }


        // build template
        function buildTemplate($tree) {

            foreach ($tree as $item) {
//                echo  "<pre>";
//                print_r($item);

                if($item['parent'] == null) {
                    $isParent = $item['parent'] != null ? '' : 'cc';
                    echo '<div class="row">';
                    echo "<div class='col-lg-2 '></div><div class='col-lg-2'></div><div class='col-lg-2 text-center {$isParent}'>".$item['name']."</div><div class='col-lg-2'></div><div class='col-lg-2'></div>";
                    echo '</div>';

                }
                if(isset($item['children'])) {
                    foreach ($item['children'] as $child) {
                        echo '<div class="row">';
                        echo "<div class='col-lg-2 '></div><div class='col-lg-2'>".$child['name']."</div><div class='col-lg-2 text-center'></div><div class='col-lg-2'></div><div class='col-lg-2'></div>";
                        echo '</div>';
                    }
                }
            }

        }

        while ($result = $categories->fetch_assoc()) {
            $data[] = $result;
        }


        $tree =  buildTree($data);
        buildTemplate($tree);

        ?>
 </div>



Hvala vam unapred!

[Ovu poruku je menjao alfa-pro dana 25.10.2016. u 03:35 GMT+1]

[Ovu poruku je menjao alfa-pro dana 25.10.2016. u 03:36 GMT+1]
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: Kako da loopujem ovaj dijagram bas kako je na slici27.10.2016. u 15:58 - pre 90 meseci
Za pocetak evo ti css
https://codepen.io/chuongdang/pen/lcnsC

Jedan od nacina koji je najbrizi i ima jedan sql upit.

1. U php prvo moras da pokupis sadrzaj cele tabele u recimo array $r
2. Napravis funkciju tree(array, parent_id)
3 Definises prazan array $tree
4. $tree = tree($r, 0); //0 je parent_id

funckija je nesto tipa:
unutra definises array $a
A. Onda krenes foreach i u $a dodajes samo gde je parent_id 0 jer ti je parametar 0
B. Odmah potom pozoves tree (u foreach) gde je parametar tree($r, i parent_id ti je id od korak A) i to dodas recimo u $a[$id][child]

Onda ces imati elemente array y array u tako koliko god imas duboko grana.

Kasnije na slican nacin radis ispis za svaki child pozoves ispis funkciju koja generise jedan ul li na mestu gde je pozvana.
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

S A J A
Beograd

Član broj: 226539
Poruke: 1904
*.static.sbb.rs.



+421 Profil

icon Re: Kako da loopujem ovaj dijagram bas kako je na slici28.10.2016. u 23:19 - pre 90 meseci
Ima na netu dosta primera kako se pravi drvo, evo na primer ovaj:

http://phpflow.com/php/how-to-create-dynamic-tree-view-menu/
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
109.122.107.*



+7 Profil

icon Re: Kako da loopujem ovaj dijagram bas kako je na slici30.10.2016. u 11:51 - pre 90 meseci
@VladaSu ne odgovara mi taj menu ima vise razloga zasto! Pre nego sto sam postavio ovde temu dobro sam ja izgooglao i probao taj primer! Hvala u svakom
@S A J A ovaj tvoj link nema veze sa ovim mojim ovde. To sto si ti meni dao to ovaj moj kod trenutno i pravi

Nego nesto se razmisljam da napravim staticki dijagram iscrtam ga u photoshopu kako meni odgovara i kad imam parenta renderujem samo tu jednu kocku na odredjeno polje. A css-om uradim absolutne pozicije radi preciznosti! To mi pade na pamet nisam testirao ko zna kako bi to izgledalo
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Panajotov
Programator
Beograd

Član broj: 322930
Poruke: 75



+5 Profil

icon Re: Kako da loopujem ovaj dijagram bas kako je na slici30.10.2016. u 12:09 - pre 90 meseci
Ovako nesto?

Code:
https://codepen.io/chuongdang/pen/lcnsC



 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: Kako da loopujem ovaj dijagram bas kako je na slici31.10.2016. u 08:07 - pre 90 meseci
Da li je tebi problem graficki prikaz ili priprema podataka?
Zbog cega ti ne odgovara taj primer? Graficki deo je identican onome sto si trazio. Ako znamo zbog cega ti ne odgovara mozda i nadjemo resenje jer po meni je to 100% ono sto si trazio.
Pripremu treba da uradis u php.
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
109.122.107.*



+7 Profil

icon Re: Kako da loopujem ovaj dijagram bas kako je na slici01.11.2016. u 09:47 - pre 90 meseci
Problem je php a ne dizajn.

Fora je da ga renderujem u binary tree! A najveca fora je sto ja nemam pojma da to izloopujem na pravi nacin! Pokusavao sam nesto da sa rekruzijama ali ne ide!
Ono sto treba za projekat jeste da to drvo mora da ima odredjen broj parenta!

E sada opet problem mi je organizacija u php i da to ja loopujem a sto se tice dizjana to manje vise!
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.tippnet.co.rs.



+218 Profil

icon Re: Kako da loopujem ovaj dijagram bas kako je na slici01.11.2016. u 14:29 - pre 90 meseci
Probacu ovako iz glave pa ti ispravi. Bitna je logika...
Code (php):

$sql = "SELECT id, parent_id, name FROM table";
$a = sqlToArray($sql); //ovde ti napravi konekcija, query, fetch...

$tree_array = generateTree($a, 0);

function generateTree($a, $parent_id)
{
    $parent_tree = [];
    foreach ($a as $val)
    {
         if ($val['parent_id'] == $parent_id)
         {
               $val['child] = generateTree($a, $val[$id]);
               $parent_tree[$val[$id]] = $val;
         }  

    }
    return $parent_tree;
}


A ispis istom ovom logikom.
Napravis funckiju ispis($tree_array). U njoj zapocnes ul i li i napises name od tog li i odmah jos u tom li napravis ispis($a['child]) ali od child elemenata. Zatim zatvoris li pa ul.
Primenis css i html koji sam vec liknovao.
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

[es] :: PHP :: Kako da loopujem ovaj dijagram bas kako je na slici

[ Pregleda: 8265 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.