ホームページ  >  記事  >  バックエンド開発  >  PHP での非関数の再帰呼び出しの 3 つの方法。 _PHP チュートリアル

PHP での非関数の再帰呼び出しの 3 つの方法。 _PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:25:27951ブラウズ

無制限のphpを分類するには大きく分けて3つの方法があります

1. データベースは親クラス ID を設定することで一意のインデックスを作成し、関数の再帰呼び出しを使用して無制限の分類を実現します。

2. データベース設計は特定の形式に整理され、mysql を使用して主要な関数 concat をクエリします。プログラムの実装は比較的簡単です;

3. 3番目のタイプについてはよくわかりませんが、アルゴリズムとデータ構造が配置に使用されるようです。

今日は主に 2 番目の方法について説明します。最初は情報が多く、本当に理解するのが難しかったです。でも、ようやく気づいたので、この記事が皆さんのお役に立てればと思い、エッセイを書きました。

1. データベース設計:


コードをコピーする コードは次のとおりです:
--
-- テーブル `category` のテーブル構造
--
CREATE TABLE IF NOT EXISTS `category` (
`id` int( 11) NOT NULL AUTO_INCREMENT、
`catpath` varchar(255) DEFAULT NULL、
`name` varchar(255) DEFAULT NULL、
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11; --
-- テーブル `category` のデータをダンプします
--
INSERT INTO `category` (`id`, `catpath`, `name`) VALUES
(1, '0', 'Homepage'),
( 2, '0-1', 'Linux OS'),
(3, '0-1', 'Apache サーバー'),
(4, '0-1', 'MySQL データベース'),
(5, '0 -1', 'PHP スクリプト言語')、
(6, '0-1-2', 'Linux システム チュートリアル')、
(7, '0-1-2', 'Linux ネットワーク テクノロジ') 、
(8, '0-1-2', 'Linux セキュリティの基本')、
(9, '0-1-2-7', 'Linux LAMP')、
(10, '0-1-3 -10 ', 'apache Server');


ここで、catpath の - リンク記号は固定されておらず、次のような特殊な記号を選択できることを説明します。

2. PHP コードの実装:

コードをコピーします。 コードは次のとおりです。 $conn = mysql_connect ( 'localhost', 'root', '' ); $conn ) ; mysql_query ( 'set names UTF8' );
$sql = "abspath によるカテゴリ順から id,concat(catpath,'-',id) を選択します"; sql );
while ( $row = mysql_fetch_array ( $query ) ) {
/**
*最初の表示方法
*/
/*$space = str_repeat ( ' ', count (explode ( '-', $row ['abspath' ] ) ) - 1 );
echo $space . $row ['name'] . '
';*/
/**
*第二の表示方法
*/
$space = str_repeat ( ' ', count (explode) ( '- ', $row ['abspath'] ) ) - 1 );
$option .= '
エラーがある場合は、chenghuiyong1987@gmail.com にメールを送信するか、メッセージを残してください

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

www.bkjia.com


tru​​e

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

技術記事

PHP で無制限に分類するには、大きく 3 つの方法があります。 1. データベースは親クラス ID を設定することで一意のインデックスを作成し、関数の再帰呼び出しを使用して無制限の分類を実現します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。