Rumah > Artikel > pembangunan bahagian belakang > 【好心人帮个忙】 PHP三级导航菜单
实在不知道怎么做了 不知道哪位大师帮个忙 实在着急啊!
效果图:
数据库结构:
--
-- 表的结构 `arctype`
--
CREATE TABLE `arctype` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`parid` smallint(5) unsigned NOT NULL default '0',
`typerank` smallint(5) unsigned NOT NULL default '0',
`typename` char(15) NOT NULL,
`typedir` char(15) default NULL,
`typetitle` varchar(80) NOT NULL,
`typekeyword` varchar(120) NOT NULL,
`typedescription` varchar(150) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=176 ;
--
-- 导出表中的数据 `arctype`
--
INSERT INTO `arctype` VALUES (144, 0, 0, '发音', 'fayin', '德语发音在线学习 ', '德语发音,德语发音在线学习,德语发音入门,德语发音视频,德语发音音频', '我们提供德语发音的在线学习,德语发音学习最好的网站 ');
INSERT INTO `arctype` VALUES (145, 0, 1, '语法', 'yufa', '德语语法的在线学习 ', '德语语法学习,德语语法在线学习,德语语法练习,德语语法音频,德语语法视频', '我们提供德语语法的在线学习,德语语法学习最好的网站 ');
INSERT INTO `arctype` VALUES (146, 0, 2, '听力', NULL, '德语听力学习最好的网站 ', '德语听力学习,德语听力在线学习,德语听力音频,德语听力视频', '我们提供德语听力的在线学习,德语听力学习最好的网站 ');
INSERT INTO `arctype` VALUES (147, 0, 3, '阅读', NULL, '德语阅读在线学习 ', '德语阅读,德语阅读在线学习,德语阅读入门,德语阅读视频,德语阅读音频', '我们提供德语阅读的在线学习,德语阅读音学习最好的网站 ');
INSERT INTO `arctype` VALUES (148, 0, 4, '写作', NULL, '德语写作在线学习 ', '德语写作,德语写作在线学习,德语写作入门,德语写作视频,德语写作音频', '我们提供德语写作的在线学习,德语发音学习最好的网站 ');
INSERT INTO `arctype` VALUES (149, 0, 5, '单词', NULL, '德语单词在线学习 ', '德语单词,德语单词在线学习,德语单词入门,德语单词视频,德语单词音频', '我们提供德语单词的在线学习,德语单词学习最好的网站 ');
INSERT INTO `arctype` VALUES (163, 144, 0, '辅音', 'fuyin', '德语辅音在线学习 ', '德语辅音,德语辅音在线学习,德语辅音入门,德语辅音视频,德语辅音音频', '我们提供德语辅音在线学习,德语辅音学习最好的网站 ');
INSERT INTO `arctype` VALUES (164, 145, 0, '格的用法', 'ge', '德语格的用法,德语格的用法在线学习,德语格的用法入门,德语格的用法视频,德语格的用法音频', '德语格的用法,德语格的用法在线学习,德语格的用法入门,德语格的用法视频,德语格的用法音频', '我们提供德语格的用法的在线学习,德语格的用法学习最好的网站 ');
INSERT INTO `arctype` VALUES (165, 164, 0, '一格', 'yige', '德语格的用法--一格在线学习 ', '德语一格,德语一格在线学习,德语一格入门,德语一格视频,德语一格音频', '我们提供德语一格语法的在线学习,德语一格语法学习最好的网站 ');
INSERT INTO `arctype` VALUES (166, 164, 0, '二格', 'erge', '德语格的用法--二格在线学习 ', '德语二格,德语二格在线学习,德语二格入门,德语二格视频,德语二格音频', '我们提供德语二格语法的在线学习,德语二格语法学习最好的网站 ');
INSERT INTO `arctype` VALUES (167, 164, 0, '三格', 'sange', '德语格的用法--三格在线学习 ', '德语三格,德语三格在线学习,德语三格入门,德语三格视频,德语三格音频', '我们提供德语三格语法的在线学习,德语三格语法学习最好的网站 ');
INSERT INTO `arctype` VALUES (168, 164, 0, '四格', 'sige', '德语格的用法--四格在线学习 ', '德语四格,德语四格在线学习,德语四格入门,德语四格视频,德语四格音频', '我们提供德语四格语法的在线学习,德语四格语法学习最好的网站 ');
没人帮帮我么?
给个简单的测试例
if(isset($_GET['id'])) { header('Content-type: text/html;charset=utf-8'); mysql_connect(); mysql_select_db('test'); mysql_query('set names utf8'); $id = isset($_GET['id']) ? $_GET['id'] : 0; $rs = mysql_query("select * from arctype where parid='$id'"); while($row = mysql_fetch_assoc($rs)) { echo "<a href=?id=$row[id]>$row[typename]</a><br>"; } exit;}?><script src=scripts/jquery-1.8.3.min.js></script><script>$(function() { $('#box1 a').live('click', {}, function() { $('#box2').load(this.href, function() { $('#box2').show() }); return false; }); $('#box2 a').live('click', function() { $('#box3').load(this.href, function() { $('#box3').show() }); return false; }); $('#box1').load('?id=0', function(d) { $('#box1').show() });});</script><div id=box1>1</div><div id=box2>2</div><div id=box3>3</div>
首先感谢版主的回答 实例貌似简单了点!
用jquery我能读到二级 能不能辛苦下 帮我写个3级的 实在搞不懂!!
给个简单的测试例
if(isset($_GET['id'])) { header('Content-type: text/html;charset=utf-8'); mysql_connect(); mysql_select_db('test'); mysql_query('set names utf8'); $id = isset($_GET['id']) ? $_GET['id'] : 0; $rs = mysql_query("select * from arctype where parid='$id'"); while($row = mysql_fetch_assoc($rs)) { echo "<a href=?id=$row[id]>$row[typename]</a><br>"; } exit;}?><script src=scripts/jquery-1.8.3.min.js></script><script>$(function() { $('#box1 a').live('click', {}, function() { $('#box2').load(this.href, function() { $('#box2').show() }); return false; }); $('#box2 a').live('click', function() { $('#box3').load(this.href, function() { $('#box3').show() }); return false; }); $('#box1').load('?id=0', function(d) { $('#box1').show() });});</script><div id=box1>1</div><div id=box2>2</div><div id=box3>3</div>首先感谢版主的回答 实例貌似简单了点!
这是读第一级
$('#box1').load('?id=0', function(d) { $('#box1').show() });
这是点击第一级节点后加载第二级
$('#box1 a').live('click', {}, function() {
$('#box2').load(this.href, function() { $('#box2').show() });
return false;
});
这是点击第二级节点后加载第三级
$('#box2 a').live('click', function() {
$('#box3').load(this.href, function() { $('#box3').show() });
return false;
});
代码是简单点,但这是核心代码。也只要这么多
这是读第一级
$('#box1').load('?id=0', function(d) { $('#box1').show() });
这是点击第一级节点后加载第二级
$('#box1 a').live('click', {}, function() {
$('#box2').load(this.href, function() { $('#box2').show() });
return false;
});
这是点击第二级节点后加载第三级
$('#box2 a').live('click', function() {
$('#box3').load(this.href, function() { $('#box3').show() });
return false;
});
代码是简单点,但这是核心代码。也只要这么多
感谢楼主的帮忙!最终还是使用递归和jquery实现了!
思路:1.读出栏目数组
2.将栏目数组转换为树形数组
3.将树形数组转化为html格式