首页  >  文章  >  后端开发  >  【好心人帮个忙】 PHP三级导航菜单

【好心人帮个忙】 PHP三级导航菜单

WBOY
WBOY原创
2016-06-23 13:29:33997浏览

实在不知道怎么做了 不知道哪位大师帮个忙 实在着急啊!
效果图:

数据库结构:
-- 
-- 表的结构 `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>

首先感谢版主的回答  实例貌似简单了点!
用jquery我能读到二级  能不能辛苦下 帮我写个3级的  实在搞不懂!! 

这是读第一级
  $('#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;
  });

代码是简单点,但这是核心代码。也只要这么多



真的很感谢版主!主要对javascript不太了解  不知道怎么应用啊!不知道怎么将这段核心代码融入到php中!

不知道你那有合适的3级菜单php的例子么 我研究下!感激不尽!

感谢楼主的帮忙!最终还是使用递归和jquery实现了!

思路:1.读出栏目数组
            2.将栏目数组转换为树形数组
            3.将树形数组转化为html格式

  • A
    • B
      • c

            3.利用jquery 很多下拉菜单的例子 显示导航!
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn