Heim  >  Artikel  >  Backend-Entwicklung  >  【好心人帮个忙】 PHP三级导航菜单

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

WBOY
WBOYOriginal
2016-06-23 13:29:33998Durchsuche

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

数据库结构:
-- 
-- 表的结构 `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 很多下拉菜单的例子 显示导航!
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn