pls help me with the logic for generating extjs tree dataurl

pls help me with the logic for generating extjs tree dataurl

am 26.09.2007 16:58:31 von premrajwins

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.pn g',
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."
";

while($tpm_limit<=$limit)
{

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

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

if(!empty($sub_var))
{

$qtip = 'Last Modified: '.$lastmod.'
Size: '.$size;

$tree_array[++$array_count]="{text:'".$menu_name[$var]."',ic on :'/
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]."',ic on:'/
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."
";

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;


?>

Re: pls help me with the logic for generating extjs tree dataurl

am 26.09.2007 17:20:14 von Captain Paralytic

On 26 Sep, 15:58, premrajw...@gmail.com wrote:
> 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.pn g',
> 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."
";
>
> while($tpm_limit<=$limit)
> {
>
> $sub=$str."_".$next;
>
> $sub_var=array_search($sub,$menu_id);
>
> if(!empty($sub_var))
> {
>
> $qtip = 'Last Modified: '.$lastmod.'
Size: '.$size;
>
> $tree_array[++$array_count]="{text:'".$menu_name[$var]."',ic on :'/
> 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]."',ic on:'/
> 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."
";
>
> 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;
>
> ?>

You haven't shared your schema.

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