Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

pls help me with the logic for generating extjs tree dataurl

1 view
Skip to first unread message

premr...@gmail.com

unread,
Sep 26, 2007, 10:58:31 AM9/26/07
to

thanks in advance for all guys kindly help...
we are genrating the extjs tree
content for the tree has to be fetched from MySQL and the JSON has to
be composed using php

The general format for extjs tree url is as below...

[{text:'A',
icon :'/new_cms/cms/ext/resources/images/accord/page_green.png',
qtip:'test',id:'1',
children:[
{text:'A_1',
icon:'/new_cms/cms/ext/resources/images/accord/page_green.png',
id:'3',
qtip:'demo',allowDelete:true,children:[]},]},]

+++++++++++++++++++++
i genrated this using following code...

This code works fine only for first level
if i insert a child to a the tree breaks up
pls help me with the correct logic
or give me the link where i can find help

++++++++++++++++++++++++++++++

The array variable $menu_name should be the text:
$tree_id[] is a reference like primary key
$menu_id[] decides the tree level
if the $menu_id is 1 or 2 or 3 ..... so on without any _(underscore)
its the first level..
if $menu_id is 1_1 then its the child of 1
if $menu_id is 1_2 then its the child of 1
if $menu_id is 1_1_1 then its the child of 1_1
feel free to ask any info about the coding and other issues
===============================================

<?

$new_sub="[";
$new_sub_end="]";
$tree_content="";
$tree_array=array();

$root_node=array();

$array_count=0;
$root_count=0;

$con= mysql_connect("localhost","root","");

if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("pixel_cms",$con);

$root = mysql_query("SELECT * FROM menu_managment_table where
menu_category='primary' ORDER BY tree_id ASC ");
$tree_content.=$new_sub;
$m=1;
while($row = mysql_fetch_assoc($root))
{

$menu_name[$m]=$row['menu_name'] ;
$menu_id[$m]=$row['tree_id'];
$tree_id[$m]=$row['menu_id'];
$m++;
}
$limit=1;
$itration=0;
for($i=1;$i<=count($menu_id);$i++ )
{
$next=1;
$str=$i;
$var= array_search($str,$menu_id);
if(!empty($var))
{
$tpm= explode('_',$str);
$tpm_limit=count($tpm);

//echo $tpm_limit."<br>";

while($tpm_limit<=$limit)
{

$sub=$str."_".$next;

$sub_var=array_search($sub,$menu_id);

if(!empty($sub_var))
{

$qtip = 'Last Modified: '.$lastmod.'<br />Size: '.$size;

$tree_array[++$array_count]="{text:'".$menu_name[$var]."',icon :'/
new_cms/cms/ext/resources/images/accord/
page_green.png',qtip:'test',id:'".$tree_id[$var]."',children:[";
$var=$sub_var;
$root_node[++$root_count]= $str;
++$itration;
$str=$sub;

}else
{
$tree_array[++$array_count]="{text:'".$menu_name[$var]."',icon:'/
new_cms/cms/ext/resources/images/accord/page_green.png',id:'".
$tree_id[$var]."',qtip:'demo',allowDelete:true,children:[]},";
$var1=rep($sub );
if($var1)
{}else{break;}
}


}
}

}

function rep($sub )
{
//echo $sub."<br>";

global $tpm,$tpm_limit,$str,$menu_id,$var;
$tpm=explode("_",$sub);
$tpm_limit=count($tpm);
if($tpm_limit>2)
{
unset($tpm[$tpm_limit-1]);
++$tpm[count($tpm)-1];
$str=join("_",$tpm);
$var= array_search($str,$menu_id);

if(empty($var))
{

if( rep($str ))
{

return true;
}
}else{
return true;
}
}else
{
return false;
}
}


for($j=1;$j<=count($root_node);$j++)
{
$key=0;
for($i=1;$i<=count($menu_id);$i++)
{
if (strncasecmp($root_node[$j],
$menu_id[$i],strlen($root_node[$j]))==0){
$key=$i;
}
}

if($key){
$tree_array[$key]=$tree_array[$key]."]},";
}

}

//var_dump($tree_array);
$tree_content= $new_sub.join('',$tree_array).$new_sub_end ;


echo $tree_content;


?>

Captain Paralytic

unread,
Sep 26, 2007, 11:20:14 AM9/26/07
to

You haven't shared your schema.

Take a look at:
http://del.icio.us/Captain_Paralytic/hierarchical

0 new messages