ホームページ > バックエンド開発 > PHPチュートリアル > [良きサマリア人の皆様、助けてください] PHP の 3 レベルのナビゲーション メニュー

[良きサマリア人の皆様、助けてください] PHP の 3 レベルのナビゲーション メニュー

WBOY
リリース: 2016-06-23 13:29:33
オリジナル
1069 人が閲覧しました

どのマスターが私を助けてくれるか本当にわかりません。
レンダリング:

データベース構造:
--
-- テーブル構造 `arctype`
--

CREATE TABLE `arctype` (
`id` smallint(5) unsigned NOT NULLauto_increment,
`parid `smallint (5) unsigned NOT NULL デフォルト '0'、
`typerank` smallint(5) unsigned NOT NULL デフォルト '0'、
`typename` char(15) NOT NULL、
`typedir` char(15) デフォルト 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', 'ドイツ語の発音オンライン学習 ' , 'ドイツ語の発音、ドイツ語の発音のオンライン学習、ドイツ語の発音の紹介、ドイツ語の発音のビデオ、ドイツ語の発音の音声'、'ドイツ語の発音を学ぶのに最適なウェブサイト、ドイツ語の発音のオンライン学習を提供します ')
`arctype` 値に挿入 ( 145, 0, 1, '文法'、'yufa'、'ドイツ語文法のオンライン学習'、'ドイツ語文法学習、ドイツ語文法オンライン学習、ドイツ語文法演習、ドイツ語文法音声、ドイツ語文法ビデオ'、'ドイツ語文法オンライン学習を提供します, ドイツ語文法学習に最適なウェブサイト ');
INSERT INTO `arctype` VALUES (146, 0, 2, 'Listening', NULL, 'ドイツ語リスニング学習に最適なウェブサイト', 'ドイツ語リスニング学習, ドイツ語リスニングオンライン学習、ドイツ語リスニング音声、ドイツ語リスニングビデオ'、'私たちはドイツ語リスニングのオンライン学習、ドイツ語リスニング学習に最適なウェブサイトを提供します');
INSERT INTO `arctype` VALUES (147, 0, 3, 'Reading', NULL, 'ドイツ語の読み方オンライン学習'、'ドイツ語の読み方、ドイツ語の読み方オンライン学習、ドイツ語の読み方の紹介、ドイツ語の読み方ビデオ、ドイツ語の読み方音声'、'ドイツ語の読み方のオンライン学習、ドイツ語の読み方の発音を学ぶのに最適なウェブサイトを提供します')
INSERT INTO `arctype` VALUES (148, 0, 4, 'Writing', NULL, 'ドイツ語ライティング オンライン学習', 'ドイツ語ライティング, ドイツ語ライティング オンライン学習, ドイツ語ライティング入門, ドイツ語ライティング ビデオ, ドイツ語ライティング オーディオ', '私たちは提供しますドイツ語のライティングのオンライン学習、ドイツ語の発音を学ぶのに最適なウェブサイト ');
INSERT INTO `arctype` VALUES (149, 0, 5, 'Word', NULL, 'ドイツ語の単語のオンライン学習', 'ドイツ語の単語, オンライン学習ドイツ語の単語、ドイツ語の単語の紹介、ドイツ語の単語のビデオ、ドイツ語の単語の音声'、'私たちはドイツ語の単語をオンラインで学習する、ドイツ語の単語を学ぶのに最適なウェブサイトを提供します')
INSERT INTO `arctype` VALUES (163, 144); , 0 , '子音', 'フイン', 'ドイツ語子音オンライン学習', 'ドイツ語子音, ドイツ語子音オンライン学習, ドイツ語子音紹介, ドイツ語子音ビデオ, ドイツ語子音音声', 'ドイツ語子音オンライン学習, ドイツ語子音を提供しています最高の良いウェブサイトを学ぶ ');
INSERT INTO `arctype` VALUES (164, 145, 0, '格の使い方', 'ge', 'ドイツ語の格の使い方、オンライン学習のドイツ語の格の使い方、ドイツ語の格の使い方の紹介、ドイツ語 ドイツ語の格の使い方のビデオ、ドイツ語の格の使い方の音声'、ドイツ語の格の使い方、ドイツ語の格の使い方のオンライン学習、ドイツ語の格の使い方の紹介、ドイツ語の格の使い方のビデオ、ドイツ語の格の使い方の音声ドイツ語の格', 'ドイツ語の格の使い方をオンラインで学習できる、ドイツ語の格の使い方を学ぶのに最適なウェブサイトを提供します ');
INSERT INTO `arctype` VALUES (165, 164, 0, '一格', 'yige' 、「ドイツ語の格の使い方 - Yige オンライン学習 」、「ドイツ語文法、ドイツ語文法オンライン学習、ドイツ語文法入門、ドイツ語文法ビデオ、ドイツ語文法」、「ドイツ語文法オンライン学習を提供しています、ドイツ語文法学習に最適なウェブサイトです 」) ;
INSERT INTO `arctype` VALUES (166, 164, 0, 'erge', 'erge', 'ドイツ語の格の使い方 - エルゲのオンライン学習 ', 'ドイツ語のエルゲ, ドイツ語のエルゲのオンライン学習, ドイツ語の 2 番目の格の紹介, ドイツ語2 格ビデオ、ドイツ語 2 格音声'、'ドイツ語 2 格文法をオンラインで学習できる、ドイツ語 2 格文法学習に最適なウェブサイトを提供します ');INSERT INTO `arctype` VALUES (167, 164, 0, 'sange', 'sange', 'ドイツ語格の使用法 - サンゲ オンライン学習 ', 'ドイツ語 サンゲ, ドイツ語 サンゲ オンライン学習, ドイツ語 サンゲの紹介 , ドイツ語トライグラム ビデオ,ドイツ語トライグラム音声', 'ドイツ語トライグラム学習に最適なウェブサイトであるドイツ語トライグラムのオンライン学習を提供します ');
INSERT INTO `arctype` VALUES (168, 164, 0, ' Sige', 'sige', 'ドイツ語の使用法Sige - Sige オンライン学習'、'ドイツ語 Sige、ドイツ語 Sige オンライン学習、ドイツ語 Sige 紹介、ドイツ語 Sige ビデオ、ドイツ語 Sige 音声'、'ドイツ語四文字文法のオンライン学習を提供します。ドイツ語四文法語学習に最適な Web サイトです

');


ディスカッションに返信(解決策)



誰も助けてくれませんか?

簡単なテスト例を教えてください

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 を使用してレベル 2 を読み取ることができます。本当に理解できないレベル 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 を使用してレベル 2 を読み取ることができます。本当に理解できないレベル 3 を書くのを手伝ってもらえますか? !

これは読み取りの最初のレベルです
$('#box1').load('?id=0', function(d) { $('#box1').show() });

これはクリック 第 1 レベルのノードの後に​​第 2 レベルをロードします
$('#box1 a').live('click', {}, function() {
$('#box2').load(this.href, function) () { $('#box2').show() });
return false;

これは、第 2 レベルのノード
$('#box2 a') をクリックした後に第 3 レベルをロードします。 live(' click', function() {
$('#box3').load(this.href, function() { $('#box3').show() });
return false;
}) ;

コードはより単純ですが、これが核となるコードです。とてもたくさんあります

これが第一レベルの読み方です

$('#box1').load('?id=0', function(d) { $('#box1').show() } );

これは、最初のレベルのノードをクリックした後に 2 番目のレベルをロードします
$('#box1 a').live('click', {}, function() {
$('#box2').load (this.href, function() { $('#box2').show() });
return false
これは、第 2 レベルのノードをクリックした後に第 3 レベルをロードします
$(' #box2 a' ).live('click', function() {
$('#box3').load(this.href, function() { $('#box3').show() });
return false;
});

コードはより単純ですが、これが核となるコードです。以上です


司会者には本当に感謝しています!私は JavaScript についてあまり知識がなく、それを適用する方法もわかりません。このコアコードを php に統合する方法がわかりません。


php の 3 レベルのメニューの適切な例があるかどうかはわかりません。検討してみます。ありがたい!

ホストの協力に感謝します!最終的には再帰と jquery を使用して実装されました。
アイデア: 1. 列配列を読み取ります

2. 列配列をツリー配列に変換します
3. ツリー配列を HTML 形式に変換します

  • A
    • B
      • c
3. jquery を使用してナビゲーションを表示するドロップダウン メニューの例が多数あります。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート