PHP はツリー構造のレベルレス分類を実装します_PHP チュートリアル
ツリー構造を実装する2つの方法
1.再帰的メソッド
再帰とは、関数がそれ自体を明示的に呼び出すことです。
再帰的手法を用いてツリー構造を実現する場合の特徴として、データの書き込み速度は速くなりますが、表示速度は遅くなります(特にツリーの分岐数やレベルが多い場合に顕著です)。書き込むデータ量が多く、ツリー構造が複雑な場合に適しています。
データ構造 (mysql を例にします)
コード: - - - - - - - - - - - - - - - - - - - - - - - - --------------------------------
テーブル `tree1` を作成します (
`id` tinyint(3) unsigned NOT NULL auto_increment,
`parentid` tinyint(3) unsigned NOT NULL デフォルト '0'、
`topic` varchar(50) デフォルト NULL,
主キー (`id`)、
KEY `parentid` (`parentid`)
) TYPE=MyISAM;
`tree1` (`id`、`parentid`、`topic`) の値に挿入します
(1,0,'ツリー 1'),
(2,0,'tree2'),
(3,0,'ツリー 3')、
(4,2,'ツリー 2-1')、
(5,4,'ツリー 2-1-1')、
(6,2,'ツリー 2-2')、
(7,1,'ツリー 1-1')、
(8,1,'ツリー 1-2'),
(9,1,'ツリー 1-3'),
(10,8,'ツリー 1-2-1')、
(11,7,'ツリー 1-1-1'),
(12,11,'ツリー 1-1-1-1');
-------------------------------------------------- ----------------------------------
フィールドの説明
id、記録されたID番号
parentid、レコードの親レコードID (0の場合、ルートレコードです)
トピック、レコードの表示タイトル
番組番組
シーケンスツリー:
PHP コード:---------------------------------------------- ----------------------------------
/* データベース接続 */
mysql_connect();
mysql_select_db('ツリー');
/* 再帰関数をツリー形式で表示 */
関数ツリー($parentid = 0) {
/* SQL クエリを実行してレコードのタイトルと ID を取得します*/
$sql = "tree1 からトピック、id を選択します。ここで、parentid = $parentid は ID asc 順に並べられます";
$rs = mysql_query($sql);
/* インデント*/
echo("
- ");
- '.$ra[0].' ');
while($ra = mysql_fetch_row($rs)) {
/* レコードのタイトルを表示 */
echo('
/* 再帰呼び出し */
ツリー($ra[1]);
}
echo("
}
木();
?>
-------------------------------------------------- ----------------------------------
逆順ツリー:
PHP コード:---------------------------------------------- ----------------------------------
/* データベース接続 */
mysql_connect();
mysql_select_db('ツリー');
/* 再帰関数をツリー形式で表示 */
関数ツリー($parentid = 0) {
/* SQL クエリを実行してレコードのタイトルと ID を取得します*/
$sql = "ツリー 1 からトピック、ID を選択します (親 ID = $parentid ID の説明で並べ替えます)";
$rs = mysql_query($sql);
/* インデント */
echo("
- ");
- '.$ra[0].' ');
while($ra = mysql_fetch_row($rs)) {
/* レコードのタイトルを表示 */
echo('
/* 再帰呼び出し */
ツリー($ra[1]);
}
echo("
}
木();
?>
-------------------------------------------------- ----------------------------------
データプログラムを挿入します
PHP コード:---------------------------------------------- ----------------------------------
/* データベース接続 */
mysql_connect();
mysql_select_db('ツリー');
$sql = "ツリー (トピック,親 ID) に挿入 value('ツリー 3-1',3);";
mysql_query($sql);
?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
