Kom ihåg mig?
Home Menu

Menu


Hur lagra kategorier

 
Ämnesverktyg Visningsalternativ
Oläst 2013-07-17, 00:46 #3
Anaxa Anaxa är inte uppkopplad
Medlem
 
Reg.datum: Jun 2013
Inlägg: 58
Anaxa Anaxa är inte uppkopplad
Medlem
 
Reg.datum: Jun 2013
Inlägg: 58
Okej, men nu vill jag lista upp alla i ett "träd". Likt detta:
HTML-kod:
|__ Parent
    |__ CHILD1
    |__ CHILD2
        |__ GRANDCHILD1
        |__ GRANDCHILD2
|__ Parent1
    |__ CHILD4
    |__ CHILD5
        |__ GRANDCHILD8
        |__ GRANDCHILD23
Men det fungerar inte.

Här är mitt försök:
PHP-kod:
$main_cats $database->query("SELECT v.*, (SELECT name FROM categories c WHERE c.id= v.parent) AS ParentName FROM categories v ORDER BY v.name ASC, ParentName ASC") or die($database->error);
    
$categories = array();
    while(
$r $main_cats->fetch_array(MYSQLI_ASSOC)) {
        
$categories[] = $r;
    }
    
    
$tree = array('NULL' => array('children' => array()));
    foreach(
$categories as $item) {
        if(isset(
$tree[$item['id']])){
            
$tree[$item['id']] = array_merge($tree[$item['id']],$item);
        } else {
            
$tree[$item['id']] = $item;
        }

        
$parentid is_null($item['parent']) ? 'NULL' $item['parent'];
        if(!isset(
$tree[$parentid])) 
            
$tree[$parentid] = array('children' => array());
        
$tree[$parentid]['children'][] = &$tree[$item['id']];
    }
    
$categories $tree['NULL']['children'];
    unset(
$tree); 
Nu hamnar underkategorierna över deras förälder. Det ska det ju inte göra.
Anaxa är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:44.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017