数据库 'ABCDE'
ID NAME BIG SMALL
1 a1 A Aa
2 a2 A Ab
3 a3 A Ab
4 a1 B Ba
5 b2 B Ba
6 b3 B Bb
7 c1 C Ca
8 c2 C Ca
9 c3 C Cb
10 c4 C Cc 将其数据库生成一个带显示和隐藏的分类导航 显示效果
-[A]
{Aa}
{Ab}
-[B]
{Ba}
{Bb}
-[C]
{Ca}
{Cb}
{Cc} 隐藏效果
+[A]
+[B]
+[C]
我做的代码逻辑顺序有问题,只能生成到
-[A]
{Aa}
-[B]
{Ba}
-[C]
{Ca}
无法再将小类循环出来,请求帮助
ID NAME BIG SMALL
1 a1 A Aa
2 a2 A Ab
3 a3 A Ab
4 a1 B Ba
5 b2 B Ba
6 b3 B Bb
7 c1 C Ca
8 c2 C Ca
9 c3 C Cb
10 c4 C Cc 将其数据库生成一个带显示和隐藏的分类导航 显示效果
-[A]
{Aa}
{Ab}
-[B]
{Ba}
{Bb}
-[C]
{Ca}
{Cb}
{Cc} 隐藏效果
+[A]
+[B]
+[C]
我做的代码逻辑顺序有问题,只能生成到
-[A]
{Aa}
-[B]
{Ba}
-[C]
{Ca}
无法再将小类循环出来,请求帮助
这个东东叫“树形菜单”,不叫“显隐”
$GLOBALS[ID] =1; //用来跟踪下拉菜单的ID号
/*
Global 变量:$GLOBALS
由所有已定义全局变量组成的数组。变量名就是该数组的索引。
这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中您不需要使用 global $GLOBALS; 来访问它。
*///$layer=1; //用来跟踪当前菜单的级数 //连接数据库
$Con=mysql_connect($db_host,$db_user,$db_password);
mysql_select_db($db_name); $sql_1=select * from tree2 where p_id2=0 and p_id3=0 and p_id4=0; //提取一级菜单
mysql_query(set names gbk);
$result_1=mysql_query($sql_1,$Con);
//假如一级菜单存在则开始菜单的显示
if(mysql_num_rows($result_1)0)
{
$numr_1=mysql_num_rows($result_1);
echo table cellpadding='0' cellspacing='0' border='0';
for($rows_1=0;$rows_1$numr_1;$rows_1 )
{
$menu_1=mysql_fetch_array($result_1); //将第一级菜单项目的内容导入数组
$url_1=$menu_1['url'];
$name_1=$menu_1['topic'];echo tr;//=======================
$sql_2=SELECT * FROM tree2 WHEREp_id1 =$menu_1[p_id1] AND p_id3 = 0 AND p_id4 = 0 AND p_id2 != 0; //提取菜单项目的第二层菜单记录集
$result_sub_2=mysql_query($sql_2);//验证$SQL_1是否正确
//.............................................................
//假如该菜单项目有子菜单,则添加JavaScript onClick语句
if(mysql_num_rows($result_sub_2)0)
{
echo td width='20' onClick='javascript:ShowMenu(Menu.$GLOBALS[ID].);'img src='../images/foldericon.png' border='0'/td;
echo td class='Menu' onClick='javascript:ShowMenu(Menu.$GLOBALS[ID].);';
} //if(mysql_num_rows($result_sub_2)0)
else
{
echo td width='20'img src='../images/file.png' border='0'/td;
echo td class='Menu';
} //if(mysql_num_rows($result_sub_2)0) else
//.........................
if($url_1!=)
{
echo a href='$url_1?p_id1=.$menu_1['p_id1'].&p_id2=.$menu_1['p_id2'].&p_id3=.$menu_1['p_id3'].&topic=.$menu_1['topic'].&perform=0' target=mainFrame [-.$menu_1['p_id1'].-]$name_1/a;
}//if($url!=)
else
{
echo a[-.$menu_1['p_id1'].-]$name_1/a;
}//if($url!=) else
echo /td/tr ;//=======================
if(mysql_num_rows($result_sub_2)0)
{
//指定该子菜单的ID和style,以便和onClick语句相对应
echo tr id=Menu.$GLOBALS[ID] . style='display:none';
// echo 'td height=0 background=../images/3.gif';
echo td width='20' background='../images/3.gif' /td;
echo td;
//echo /td/tr;
}
$numr_2=mysql_num_rows($result_sub_2);//获取$sql_1的记录笔数
if($numr_20)
{
for($rows_2=0;$rows_2$numr_2;$rows_2 )
{
//echo table cellpadding='0' cellspacing='0' border='0';
$menu_2=mysql_fetch_array($result_sub_2);//将第二级菜单目录导入数组
$url_2=$menu_2['url'];
$name_2=$menu_2['topic'];
echo table cellpadding='0' cellspacing='0' border='0'; //==========第二级的表头代码
echo tr;
//提取第三层子菜单记录集
$sql_3=SELECT * FROM tree2 WHEREp_id1 =$menu_2[p_id1] AND p_id2 = $menu_2[p_id2] AND p_id4 = 0 AND p_id3 != 0;
$result_sub_3=mysql_query($sql_3); if(mysql_num_rows($result_sub_3)0)
{
echo td width='20' onClick='javascript:ShowMenu(Menu.$GLOBALS[ID].);'img src='../images/foldericon.png' border='0'/td;
echo td class='Menu' onClick='javascript:ShowMenu(Menu.$GLOBALS[ID].);';
} //if(mysql_num_rows($result_sub_3)0)
else
{
echo td width='20'img src='../images/file.png' border='0'/td;
echo td class='Menu';
} //if(mysql_num_rows($result_sub_3)0) else
if($url_2!=)
{
echo a href='$url_1?p_id1=.$menu_2['p_id1'].&p_id2=.$menu_2['p_id2'].&p_id3=.$menu_2['p_id3'].&topic=.$menu_2['topic'].&perform=0' target=mainFrame[-.$menu_2['p_id1'].-.$menu_2['p_id2'].-]$name_2 /a;
}//if($url!=)
else
{
echo a[-.$menu_2['p_id1'].-.$menu_2['p_id2'].-]$name_2/a;
}//if($url!=) else
echo /td/tr ;
if(mysql_num_rows($result_sub_3)0)
{
//指定该子菜单的ID和style,以便和onClick语句相对应
echo tr id=Menu.$GLOBALS[ID] . style='display:none';
echo td width='20' background='../images/3.gif' /td;
echo td;
//echo /td/tr;
}
$numr_3=mysql_num_rows($result_sub_3);
if($numr_30)
{
echo table cellpadding='0' cellspacing='0' border='0'; //================第三级表头代码
for($rows_3=0;$rows_3$numr_3;$rows_3 )
{
$menu_3=mysql_fetch_array($result_sub_3);//将第三级菜单目录导入数组
$url_3=$menu_3['url'];
$name_3=$menu_3['topic'];
echo table cellpadding='0' cellspacing='0' border='0'; //===============第三级表头代码
echo tr;
echo td width='20'img src='../images/foldericon.png' border='0'/td;
echo td class='Menu';
if($url_3!=)
{
echo a href='$url_1?p_id1=.$menu_3['p_id1'].&p_id2=.$menu_3['p_id2'].&p_id3=.$menu_3['p_id3'].&topic=.$menu_3['topic'].&perform=0' target=mainFrame[-.$menu_3['p_id1'].-.$menu_3['p_id2'].-.$menu_3['p_id3'].-]$name_3/a;
}//if($url!=)
else
{
echo a[-.$menu_3['p_id1'].-.$menu_3['p_id2'].-.$menu_3['p_id3'].-]$name_3/a;
}//if($url!=) else
echo /td/tr ;//=======================
//echo tr id=Menu.$GLOBALS[ID] . style='display:none';
//echo td width='20' /td;
//echo td;
echo /table ;
}//for($rows_3=0;$rows_3$numr_3;$rows_3 )
}//if($numr_30)
echo /table;//===================第二级的表尾代码
}//for($rows_2=0;$rows_2$numr_1;$rows_2 )}//if($numr_10)
}//for($rows=0;$rows$numrows;$rows )
echo /table ;//=======================第一级的表尾代码
}//if(mysql_num_rows($result)0)