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');
コードをコピーします コードは次のとおりです:
$conn = mysql_connect ( 'localhost', 'root', '' );
mysql_select_db ( 'test', $conn );
mysql_query ( 'set names UTF8' ); id,concat (catpath,'-',id) as abspath,name from category order by abspath";
$query = mysql_query ( $sql );
while ( $row = mysql_fetch_array ( $query ) ) {
/**
※最初の表示方法
*/
/*$space = str_repeat ( ' ', count (explode ( '-', $row ['abspath'] ) ) -
echo $ ); space . $ row ['name'] . '
';*/
/**
※第二の表示方法
*/
$space = str_repeat ( ', count (explode ( '-', $ row [' abspath'] ) ) - 1 );
$option .= '';
'
2. 2 番目の場所では、主に php の str_repeat を使用してスペースを巧みに設定します。
エラーがある場合は、chenghuiyong1987@gmail.com に電子メールを送信するか、メッセージを残してください