今日紹介するのは、PHP の Infinitus 分類技術ですが、Infinitus 分類を 2 つのタイプに分けます。具体的な方法は以下の通りです:
まずデータベースのテーブルを紹介しますが、データベースはタスクであり、データベースのテーブルもタスクです。
#関連する推奨事項: 「PHP チュートリアル 」
最初のメソッド (配列メソッド)
このメソッドは、実際には、生成された 2 次元配列に焦点を当てて、最初にすべてのデータをクエリします。<?php //分类方法 function make_list($parent,$deep = 0){ global $tasks;//申明全局变量 global $strArr;//申明全局变量 $qianzhui = str_repeat(" ",$deep)."|--"; foreach ($parent as $key => $value) { $strArr[] = $qianzhui.$value; if(isset($tasks[$key])){ make_list($tasks[$key],++$deep);//递归调用函数 } } } //数据库连接 $dbc = mysqli_connect("localhost","root","1234","tasks"); //拼接sql语句 $q = "select task_id,parent_id,task from tasks where date_completed = '0000-00-00:00:00:00' order by parent_id, date_added asc"; //执行sql $r = mysqli_query($dbc,$q); //遍历结果集 while (list($task_id,$parent_id,$task) = mysqli_fetch_array($r,MYSQLI_NUM)) { //组成数组(一级键为parent_id,二级键为task_id,值为任务内容) $tasks[$parent_id][$task_id] = $task; } //打印数组 echo "<pre class="brush:php;toolbar:false">"; print_r($tasks); echo ""; make_list($tasks[0]); echo "
"; //打印缩进数组 print_r($strArr); echo ""; ?>
2 番目のメソッド (ルックアップ テーブル メソッド)
このメソッドは、実際には先頭のparent_id= のみをクエリします。0、および次に、再帰的メソッドを使用してクエリ条件を動的に生成し、各レコードの task_id を task_id として使用し、クエリ結果が空になるまで新しいラウンドのクエリを実行します。rreeee
以上がPHP Infinitus の分類方法とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。