kategorisystem med to tabeller
kategorisystem med to tabellerHej eksperter.
Jeg er ved at få grå hår af mit kategorisystem.
Jeg prøver at få lavet et træ, hvor den skal liste alle hovedkategorierne, og underkategorierne.
Hvis jeg står på en af hovedkategori, skulle den kun udskrive hovedkategorien, og underkategorierne.
Men jeg kan kun få den til at liste en hovedkategori med underkategorier.
Håber der er en venlig sjæl der kan hjælpe med at bikse noget kode sammen der kan gør det muligt.
Sådan her ser min tabel struktur ud.
TABLE "category"
category_id
category_name
TABLE "category_xref"
category_parent_id
category_child_id
----------------------------------
end til vider gå det fremad med det link du sendt fik idé fra dit link men synes ikke den afslutter og lave html tags rigtigt steder
<?
$q = mysql_query("SELECT c.category_id, cx.category_child_id, cx.category_parent_id, c.category_name
FROM category AS c, category_xref AS cx
WHERE c.category_id=cx.category_child_id");
while($cate = mysql_fetch_assoc($q)){
$cats[] = array('category_id' => $cate['category_id'], 'category_parent_id' => $cate['category_parent_id'], 'category_name' => $cate['category_name']);
}
function generate_tree_list($array, $parent = 0, $level = 0){
foreach ($array as $value)
{
$has_children=false;
if ($value['category_parent_id']==$parent)
{
if ($has_children==false)
{
$has_children=true;
echo '<ul>'."\n\n";
}
echo '<li>'.$value['category_name'].'';
generate_tree_list($array,$value['category_id'],$level);
echo '</li>'."\n\n";
}
if ($has_children==true) echo '</ul>'."\n\n";
echo $value['parent_id'];
}
}
generate_tree_list($cats);
echo "<hr>";
// 11 er for en af mine hovedkategorier, men der vil den så heller ikke udskrive selve hovednavnet først
generate_tree_list($cats,11);
?>