CodeThatTree - Tree Generation from the Database Example
var TreeDef = {"style" : {"css" : "test1tree", "size":[100, 25], "bgcolor":"#ffffff", "color":"#000000", "fixwidth":"200", "imgitem":"tree/img/new.gif", "imgdir":"tree/img/open.gif", "imgdiropen":"tree/img/up.gif"}, "itemover": { "css" : "test1tree", "bgcolor":"#D3E5FA", "color":"#00008B"} , "position": { "absolute": false, "pos":[30,20] } , "items" : [ {"text":"Item 1","menu":{"items":[{"text":"Item 1:1"},{"text":"Item 1:2"},{"text":"Item 1:2"}]}},{"text":"Item 2","menu":{"items":[{"text":"Item 2:1"},{"text":"Item 2:2"}]}} ] };
<php
function create_level($parent_id)
{
$items = '';
$StrQuery = "select item_id, item_name from script_items where script_id=2 and item_parent_id=" . $parent_id;
$result = mysql_query($StrQuery);
$Error = @mysql_error($db);
if ($Error != "")
{
echo "$Error";
exit();
}
$first = 1;
while (list($item_id, $item_name) = mysql_fetch_row($result))
{
if ($first == 1)
$first = 0;
else
$items .= ",";
$next_level = create_level($item_id);
if ($next_level == "")
{
$items .= ("{\"text\":\"".$item_name."\"");
$items .= $next_level;
$items .= "}";
}
else
{
$items .= ("{\"text\":\"".$item_name."\",\"menu\":{\"items\":[");
$items .= $next_level;
$items .= "]}}";
}
}
return ($items);
}
function create_definition()
{
global $db;
$definition = "";
$StrQuery = "select distinct css, size, bgcolor, color, bgimg, shadow, border, imgitem, imgdir, " .
" fixwidth, imgdiropen" .
" from script_styles, script_items where script_styles.style_id = script_items.style_id " .
" and script_items.item_parent_id=0 and script_id=2";
$result = db_query($StrQuery);
$res_num = db_numrows($result);
$Error = mysql_error($db);
if ($Error != "")
{
echo "$Error";
exit();
}
if ($res_num != 0)
{
$definition = $definition . 'var TreeDef = {"style" : {"css" : "' .
db_result($result, 0, "css") . '", ' .
'"size":' . db_result($result, 0, "size") . ', ' .
'"bgcolor":"' . db_result($result, 0, "bgcolor") . '", ' .
'"color":"' . db_result($result, 0, "color") . '", ' .
'"fixwidth":"' . db_result($result, 0, "fixwidth") . '", ' .
'"imgitem":' . db_result($result, 0, "imgitem") . ', ' .
'"imgdir":' . db_result($result, 0, "imgdir") . ', ' .
'"imgdiropen":' . db_result($result, 0, "imgdiropen") . '}';
}
$StrQuery = "select distinct css, bgcolor, color, bgimg, shadow, border, imgitem, imgdir " .
" from script_styles, script_items where script_styles.style_id = script_items.style_over_id " .
" and script_items.item_parent_id=0 and script_id=2";
$result = db_query($StrQuery);
$res_num = db_numrows($result);
$Error = mysql_error($db);
if ($Error != "")
{
echo "$Error";
exit();
}
if ($res_num != 0)
{
$definition = $definition . ', "itemover": { "css" : "' .
db_result($result, 0, 'css') . '", ' .
'"bgcolor":"' . db_result($result, 0, 'bgcolor') . '", ' .
'"color":"' . db_result($result, 0, 'color') . '"} ';
}
$definition = $definition . ', "position": { "absolute": false, "pos":[30,20] } ';
$items = ', "items" : [ ';
$items = $items . create_level(0);
$items = $items . ' ] ';
$definition = $definition . $items . " };";
return $definition;
}
echo
"<script language='javascript1.2'><!--\n" .
create_definition() .
"</script>";
?>
|