Php multilevel selectbox
Hejsa.Jeg har lavet fået bikset noget kode sammen som laver en selectbox med multilevel submenu ting.
Dog kan jeg ikke finde ud af hvorfor den ikke sorterer det korrekt. Altså den lægger ikke undermenuerne under hovedmenuerne pænt som de skal under hinanden, men i en stor rodekasse. Hvad kan der være galt? :-)
<?php
function _buildTree($data, $idParent, $indentSymbol, $level)
{
$cat = array();
foreach($data as $row){
if($row['cat_parent'] == $idParent){
if($indentSymbol AND $level > 0){
$symbols = array_fill(0, $level, $indentSymbol);
$cat[$row['cat_id']] = implode('', $symbols) . $row['cat_name'];
}else{
$cat[$row['cat_id']] = $row['cat_name'];
}
$cat = $cat + _buildTree($data, $row['cat_id'], $indentSymbol, $level++);
}
}
return $cat;
}
$result = mysql_query("SELECT cat_id, cat_parent, cat_name FROM categories");
$data = array();
while($row = mysql_fetch_assoc($result)){
$data[] = $row;
}
$select = '<select>';
foreach(_buildTree($data, 0, '-', 0) as $key=>$option){
$select .= '<option value=' . $key . '>' . $option . '</option>';
}
$select .= '</select>';
echo $select;
?>