PHP+JS無制限スケーラブルメニューを詳しく解説(分かりやすく)_PHPチュートリアル
ここ数日間、基本的な内容を投稿してきましたが、今日は、CMS システムのバックエンドで一般的に使用されるカテゴリー管理部分の本質は、無制限のカテゴリー メニューです。初心者には難しいかもしれませんが、今日の私の詳しい説明を聞いて、将来は誰でもできるようになると思います。それを達成するにはどうすればよいでしょうか?まずデータベースを作成しましょう:
--
-- テーブル構造 `cr_columninfo`
--
`columnid` int(4) NOT NULL auto_increment、
`columnfatherid` int(4) NOT NULL デフォルト '0'、
`columnname` varchar(100) NOT NULL デフォルト ''、
`columnadder` varchar(50) NOT NULL デフォルト ''、
`co lumninputdate ` date NOT NULL デフォルト '0000-00-00',
PRIMARY KEY (`columnid`)
) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 AUTO_INCREMENT=15
-- テーブル `cr_columninfo` にデータをエクスポートします
- -
INSERT INTO `cr_columninfo` (`columnid`, `columnfatherid`, `columnname`, `columnadder`, `columninputdate`) VALUES (1, 0, 'AV star', 'leehui', '2006-09-28') ),
(2, 0, 'キャンパススタイル', 'leehui1983', '2006-09-28'),
(3, 1, '香港と台湾のスター', 'leehui', '2006-09-28 ') ,
(4, 0, '風景写真', 'leehui1983', '2006-09-29'),
(5, 4, '広大な海', 'leehui1983', '2006-09-29' ),
(6, 5, '福州の海', 'leehui1983', '2006-09-29'),
(7, 2, '卒業写真', 'leehui', '2006-09-29'),
( 9, 0, 'スポーツスター', 'leehui1983', '2006-10-02'),
(10, 0, '絶妙な壁紙', 'leehui1983', '2006-10-02'),
( 11, 0, '都市風景', 'leehui1983', '2006-10-02'),
(12, 0, '漫画アニメーション', 'leehui1983', '2006-10-02'),
(13, 0, 'ゲームのスクリーンショット', 'leehui1983', '2006-10-02'),
(14, 0, '作者のアルバム', 'leehui1983', '2006-10-02')
これらはテストデータです。基本的には、ツリー構造に従ってデータ フィールドを確立することが基本であり、各列には独自の ID 番号と親列の ID 番号があり、これらの 2 つの関係に基づいてツリー構造が確立されます。親 ID = 0。これは簡単に理解できます。次に、このプログラムは最も一般的な再帰アルゴリズムを使用してサブメニューを検索し、それらを大きなテーブルに表示します。トップレベルのメニューを表示し、再帰によってすべてのサブメニューをリストします。メニューとサブメニューは上位レベルのメニューの次の行に配置され、行の表示属性は動的に生成されません。このプログラムを JS と組み合わせて行の表示と非表示を制御します。これは、スケーラブルな Microsoft メニューに似ています。その結果、誰もが理解できるように、記事の最後に図が示されています。プログラムのデモを行うために、生成されたページの HTML を DW にコピーします。
コード部分を見てください。難しい構文はありません。興味があれば、このコードを展開してください。
PHP コードは次のとおりです:
;项目 // このメニュー項目にサブメニューがない場合は、メニュー名のみを表示します echo $ menu [columnname]; echo "& lt;/td & gt; & lt;/tr & gt;"; if(mysql_num_rows($ result_sub)> 0) id "++。 ; echo " |
"; // 系列に 1 を追加します $layer++; // ShowTreeMenu() 関数を再帰的に呼び出してサブメニューを生成します ShowTreeMenu($Con,$result_sub,$layer); //サブメニューの処理が完了し、再帰の前の層に戻ります echo " |
?> ;
最後に、レンダリングとソース コードのパッケージを添付します。この記事が皆様のお役に立てれば幸いです^_^
このドキュメントをダウンロードしてください。
http://www.bkjia.com/PHPjc/317503.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/317503.html
技術記事


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ハードディスクのシリアル番号はハードディスクの重要な識別子であり、通常、ハードディスクを一意に識別し、ハードウェアを識別するために使用されます。場合によっては、オペレーティング システムのインストール時、正しいデバイス ドライバーの検索時、ハード ドライブの修復の実行時など、ハード ドライブのシリアル番号を照会する必要があることがあります。この記事では、ハードドライブのシリアル番号を確認する簡単な方法をいくつか紹介します。方法 1: Windows コマンド プロンプトを使用してコマンド プロンプトを開きます。 Windows システムでは、Win+R キーを押し、「cmd」と入力し、Enter キーを押してコマンドを開きます。

インターネットを利用する際に「wapi」という言葉を目にしたことはあるかもしれませんが、「wapi」が何なのかよく分からないという方もいると思いますので、以下で詳しくご紹介します。 wapi とは: 回答: wapi は、無線 LAN の認証と機密性を確保するためのインフラストラクチャです。一般的にオフィスビルなどの近くでカバーされる赤外線やBluetoothなどの機能と似ています。基本的にこれらは小さな部門によって所有されているため、この機能の範囲はわずか数キロメートルです。 wapi の関連紹介: 1. Wapi は無線 LAN の伝送プロトコルです。 2. この技術により、狭帯域通信の問題を回避し、より良好な通信が可能になります。 3. 信号の送信に必要なコードは 1 つだけです

Windows オペレーティング システムは世界で最も人気のあるオペレーティング システムの 1 つであり、その新バージョン Win11 が大きな注目を集めています。 Win11 システムでは、管理者権限の取得は重要な操作であり、管理者権限を取得すると、ユーザーはシステム上でより多くの操作や設定を実行できるようになります。この記事では、Win11システムで管理者権限を取得する方法と、権限を効果的に管理する方法を詳しく紹介します。 Win11 システムでは、管理者権限はローカル管理者とドメイン管理者の 2 種類に分かれています。ローカル管理者はローカル コンピュータに対する完全な管理権限を持っています

OracleSQL の除算演算の詳細な説明 OracleSQL では、除算演算は一般的かつ重要な数学演算であり、2 つの数値を除算した結果を計算するために使用されます。除算はデータベース問合せでよく使用されるため、OracleSQL での除算演算とその使用法を理解することは、データベース開発者にとって重要なスキルの 1 つです。この記事では、OracleSQL の除算演算に関する関連知識を詳細に説明し、読者の参考となる具体的なコード例を示します。 1. OracleSQL での除算演算

マザーボード上の SPDIFOUT 接続線の順序 最近、ワイヤの配線順序に関する問題に遭遇しました。ネットで調べたところ、1、2、4がアウト、+5V、グラウンドに相当するという情報もあれば、1、2、4がアウト、グラウンド、+5Vに相当するという情報もありました。最善の方法は、マザーボードのマニュアルを確認することです。マニュアルが見つからない場合は、マルチメーターを使用して測定できます。最初にアースを見つけてから、残りの配線の順序を決定します。マザーボードの VDG 配線の接続方法 マザーボードの VDG 配線を接続するときは、VGA ケーブルの一端をモニターの VGA インターフェイスに差し込み、もう一端をコンピューターのグラフィックス カードの VGA インターフェイスに差し込む必要があります。マザーボードの VGA ポートに差し込まないよう注意してください。接続すると、次のことが可能になります

PHP のモジュロ演算子 (%) は、2 つの数値を除算した余りを取得するために使用されます。この記事では、モジュロ演算子の役割と使用法について詳しく説明し、読者の理解を深めるために具体的なコード例を示します。 1. モジュロ演算子の役割 数学では、整数を別の整数で割ると、商と余りが得られます。たとえば、10 を 3 で割ると、商は 3 になり、余りは 1 になります。モジュロ演算子は、この剰余を取得するために使用されます。 2. モジュロ演算子の使用法 PHP では、% 記号を使用してモジュロを表します。

Linux システム コール system() 関数の詳細説明 システム コールは、Linux オペレーティング システムの非常に重要な部分であり、システム カーネルと対話する方法を提供します。その中でも、system()関数はよく使われるシステムコール関数の一つです。この記事では、system() 関数の使用法を詳しく紹介し、対応するコード例を示します。システム コールの基本概念 システム コールは、ユーザー プログラムがオペレーティング システム カーネルと対話する方法です。ユーザープログラムはシステムコール関数を呼び出してオペレーティングシステムを要求します。

Linuxのcurlコマンドの詳細な説明 要約:curlは、サーバーとのデータ通信に使用される強力なコマンドラインツールです。この記事では、curl コマンドの基本的な使用法を紹介し、読者がコマンドをよりよく理解して適用できるように実際のコード例を示します。 1.カールとは何ですか? curl は、さまざまなネットワーク要求を送受信するために使用されるコマンド ライン ツールです。 HTTP、FTP、TELNETなどの複数のプロトコルをサポートし、ファイルアップロード、ファイルダウンロード、データ送信、プロキシなどの豊富な機能を提供します。
