ホームページ > バックエンド開発 > PHPチュートリアル > よりシンプルな無限カテゴリ メニュー コード_PHP チュートリアル

よりシンプルな無限カテゴリ メニュー コード_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:57:29
オリジナル
771 人が閲覧しました

まず、terry39 さんのアドバイスに感謝します。私は元旦に何もすることがないので、彼が話した原則を簡単に実装します。このプログラムの鍵は、データ テーブルの設計です。非常にユニークです。再帰を必要とせず、単純な SQL ステートメントに依存します。メニューをリストして、このデータ テーブルがどのように設計されているかを確認してください。
データベース フィールドは次のとおりです:
----------- --------------------- ---------------------------- ---------- ---
id Number
fid Number
fid 親カテゴリ番号
name カテゴリ名
path ID をノードとするカテゴリのパス、 ,1,2,3,4,
のような文字列を形成します。 ----------------------- -----------------------

それはできます次のデータがあるものとします。

id --------------------------------------。 ----
1 0 0 カテゴリ 1 ,1,
2 0 カテゴリ 2, 2, 分3 1 カテゴリ 1-1, 1,3,
4 1 カテゴリ 1-2, 1,4,
5 2 カテゴリ 2 -1、2、5、
6 4 カテゴリ 1-2- 1、1、4、6、
------------------------------------- --------------- ----------
今回は怠け者なので、幸いなことにコードは長くなく、すべてのコードを使用しています。はクラスにカプセル化されています (必須ではありませんが、OO にも慣れておきたいです、笑!)。ページのコードを見てみましょう:

コードをコピーします コードは次のとおりです:


/*************************************

ページ: menu.php
著者: Hui Boss
機能: 定義データベース操作とメニューリストクラスの生成

*****************************************/
class menu{

// コンストラクター、関数: データベース接続を作成し、対応するデータベースを選択します
public function __construct(){ B $ dbuser = " root";
$ dbpassword = "7529639";
$ dbname = "Menu";
mysql_connect ($ dbhost, $ dbuseword) or die ("error!") ; Q mysql_query (" Set names 'gbk' ");
mysql_select_db ($ dbname);
}

// SQL ステートメント関数を実行します
プライベート関数 query ($ SQL) {
Return mysql_query ($ SQL)
}

// 結果を取得します Set 配列関数
ループクエリ
」 $ sql = select * from path by path "; menu();//インスタンスを生成
$db->menulist();//メソッドを呼び出してメニューを生成
?>



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

www.bkjia.com

tru​​e

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

技術記事

まず、terry39 さんのアドバイスに感謝します。元旦には何もすることがないので、彼が言った原則を簡単に実装します。このプログラムの重要な点は、データ テーブルの設計が非常にユニークであることです。 、再帰なし、によると...





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