無制限の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
true
http://www.bkjia.com/PHPjc/324119.html
技術記事
PHP で無制限に分類するには、大きく 3 つの方法があります。 1. データベースは親クラス ID を設定することで一意のインデックスを作成し、関数の再帰呼び出しを使用して無制限の分類を実現します。