Web 開発の分野では、分類クエリは非常に一般的な要件であり、電子商取引プラットフォームでもコンテンツ管理システムでも、分類に基づいたデータ表示方法があります。分類層の数が増加するにつれて、サブカテゴリをクエリするタスクはますます複雑になります。この記事では、開発者がカテゴリ階層を簡単に管理できるように、サブカテゴリに対する効率的な PHP ループ クエリ方法を紹介します。
まず、機密データを取得する必要があります。ここでは例として単純なデータベース テーブルを取り上げます。このテーブルの名前は category であり、次のフィールドがあるとします:
id | name | parent_id |
---|---|---|
1 | 家庭用電化製品 | 0 |
電子機器 | 0 | |
テレビ | 1 | |
冷蔵庫 | 1 | |
パソコン | 2 | |
Laptop | 2 |
function get_children_categories($parent_id) { // <code to query categories from database by parent_id> return $categories; }
function get_children_categories($parent_id) { $categories = array(); // <code to query categories from database by parent_id> foreach($results as $result) { $category = array(); $category['id'] = $result['id']; $category['name'] = $result['name']; $children = get_children_categories($result['id']); if (!empty($children)) { $category['children'] = $children; } $categories[] = $category; } return $categories; }
function print_categories($categories) { echo "<ul>"; foreach($categories as $category) { echo "<li>" . $category['name'] . "</li>"; if (!empty($category['children'])) { print_categories($category['children']); } } echo "</ul>"; }
$memcached = new Memcached(); $memcached->addServer('localhost', 11211); $categories = $memcached->get('categories:1'); if (!$categories) { $categories = get_children_categories(1); $memcached->set('categories:1', $categories); } print_categories($categories);
以上が【概要共有】効率的なPHPループクエリサブカテゴリー手法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。