ホームページ バックエンド開発 PHPチュートリアル PHP+JS無制限スケーラブルメニューを詳しく解説(分かりやすく)_PHPチュートリアル

PHP+JS無制限スケーラブルメニューを詳しく解説(分かりやすく)_PHPチュートリアル

Jul 21, 2016 pm 03:58 PM
一般的に もの 調整可能な 存在する ベース 無制限 わかりやすい ポイント 単純 メニュー 詳しい説明

ここ数日間、基本的な内容を投稿してきましたが、今日は、CMS システムのバックエンドで一般的に使用されるカテゴリー管理部分の本質は、無制限のカテゴリー メニューです。初心者には難しいかもしれませんが、今日の私の詳しい説明を聞いて、将来は誰でもできるようになると思います。それを達成するにはどうすればよいでしょうか?まずデータベースを作成しましょう:
--
-- テーブル構造 `cr_columninfo`
--

コードをコピー コードは次のとおりです:
CREATE TABLE `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 コードは次のとおりです:
コードをコピーします コードは次のとおりです:
 
 
 
类别目录树 





列ツリー構造リスト
$ GLOBALS["ID"] =1; //ドロップダウン メニューの ID 番号を追跡するために使用されます
$layer=1; //現在のメニューのレベルを追跡するために使用されます
//データベースに接続します
$Con =mysql_connect("localhost ","root","7529639");
mysql_select_db("cr_download");
mysql_query("SET NAMES 'GBK'"); // 第 1 レベルのメニューを抽出します
$sql=" select * from cr _columninfo where columnfatherid= 0";
$result=mysql_query($sql,$Con);
//第 1 レベルのメニューが存在する場合、スタート メニューを表示
if(mysql_num_rows($result)>0) ShowTreeMenu( $Con,$result,$ ID)
//=================================== ======= = ShowTreeMenu
//============================のシリーズ。 ============ =
function ShowTreeMenu($Con,$result,$layer)メニューの表示を開始します。各サブメニューはテーブルを使用して






を示します






“テーブルのセルパディング = '0' セル間隔 = '0' 境界線 = '0' 幅 = '100%' & GT;"; ; $ ROWS ++ )
select * from cr_columninfo where columnfatherid=$menu[columnid]" ;
$result_sub=mysql_query($sql,$Con);
echo "";
サブメニューがある場合は、JavaScript の onClick ステートメントを追加します
if(mysql_num_rows($result_sub) > echo " "; "
;项目 // このメニュー項目にサブメニューがない場合は、メニュー名のみを表示します
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

tru​​e

http://www.bkjia.com/PHPjc/317503.html

技術記事
PHP+JS無制限スケーラブルメニューを詳しく解説(分かりやすく)_PHPチュートリアル数日間基本的な内容を投稿したので、今日は CMS システムのバックエンドで一般的に使用されるカテゴリー管理部分の本質である、初心者向けの無制限のカテゴリー メニューについて説明します。 ...

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ハードドライブのシリアル番号を照会する最も簡単な方法 ハードドライブのシリアル番号を照会する最も簡単な方法 Feb 26, 2024 pm 02:24 PM

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

wapiとは何かを詳しく紹介 wapiとは何かを詳しく紹介 Jan 07, 2024 pm 09:14 PM

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

Win11での管理者権限の取得について詳しく解説 Win11での管理者権限の取得について詳しく解説 Mar 08, 2024 pm 03:06 PM

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

Oracle SQLの除算演算の詳細説明 Oracle SQLの除算演算の詳細説明 Mar 10, 2024 am 09:51 AM

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

マザーボード上のデジタルオーディオ出力インターフェイス - SPDIF OUT マザーボード上のデジタルオーディオ出力インターフェイス - SPDIF OUT Jan 14, 2024 pm 04:42 PM

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

PHPモジュロ演算子の役割と使い方を詳しく解説 PHPモジュロ演算子の役割と使い方を詳しく解説 Mar 19, 2024 pm 04:33 PM

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

Linuxシステムコールsystem()関数の詳細説明 Linuxシステムコールsystem()関数の詳細説明 Feb 22, 2024 pm 08:21 PM

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

Linuxのcurlコマンドの詳しい説明 Linuxのcurlコマンドの詳しい説明 Feb 21, 2024 pm 10:33 PM

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

See all articles