Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在sql中显示类别_Php_Mysql - Fatal编程技术网

Php 在sql中显示类别

Php 在sql中显示类别,php,mysql,Php,Mysql,我只想为类别创建一个表。我不想为父子关系创建其他表。所有类别都应存储在一个表中。 添加/更新/删除类别。类别名称应唯一。如果删除了任何父类别,则还应删除所有子类别(如果存在)。 如果已经创建了类别,则新类别可以是任何类别或主类别的子类别。如果创建了任何类别,则表单应具有将该类别作为父类别的选项。例如: -> House -> Flat -> 2BHK Flat -> 2BHK Flat 1200 sq ft

我只想为类别创建一个表。我不想为父子关系创建其他表。所有类别都应存储在一个表中。 添加/更新/删除类别。类别名称应唯一。如果删除了任何父类别,则还应删除所有子类别(如果存在)。 如果已经创建了类别,则新类别可以是任何类别或主类别的子类别。如果创建了任何类别,则表单应具有将该类别作为父类别的选项。例如:

-> House
    -> Flat
        -> 2BHK Flat
            -> 2BHK Flat 1200 sq ft
                -> 2BHK Flat 1200 sq ft on 4th floor
                -> 2BHK Flat 1200 sq ft on 10th floor
                    -> 2BHK Flat 1200 sq ft on 10th floor with two balconies
                    -> 2BHK Flat 1200 sq ft on 10th floor with 5 balconies
            
最后,我想以表格格式显示所有类别,显示父类别(如果存在)

范例

ID:         Category                Parent Category
=======================================================
1.          Flat                        ----
2.          2BHK Flat                   Flat
3.          2BHK Flat 1200 sq ft        2BHK Flat

此类类别的查询是什么?

准备数组格式的类别数据,并使用以下方法进行插入

//Prepare a category tree
    public function categoryTree()
    {
        $categoriesData = [];
        $arr =  [
            "House" => [
                "Flat" => [
                    "2BHK Flat" => [
                        "2BHK Flat 1200 sq ft" => [
                            "2BHK Flat 1200 sq ft on 4th floor" => [],
                            "2BHK Flat 1200 sq ft on 10th floor" => [
                                "2BHK Flat 1200 sq ft on 10th floor with two balconies" => [],
                                "2BHK Flat 1200 sq ft on 10th floor with 5 balconies" => []
                            ]
                        ]
                    ]
                ]
            ]
        ];

        self::displayCategories($arr, $categoriesData);
    }

 //insertion of categories in db
 public static function displayCategories($arr, $categoriesData) 
 {
    foreach($arr as $parentCat => $childCat) {
        $categoriesData[] = "('{$parentCat}', '".implode(',', array_keys($childCat))."')";
        if(!empty($childCat)) {
            self::displayCategories($childCat, $categoriesData);
        }
    }

    INSERT INTO `table_name` (`Parent_Category`,`Category`) VALUES .implode(',', $categoriesData);
 }

 //Deletion of categories 
  public static function categoryDeletion($parentCategory) 
  {
      DELETE FROM `table_name` WHERE `Parent_Category` = '{$parentCategory}';
  }

您希望使用分层查询。根据您使用的数据库(mysql、oracle),语法会发生变化。我想使用mysql。您能帮我一下吗?听起来很像“有人能帮我做作业吗”…?您能告诉我们您迄今为止做了哪些尝试,并解释这是如何未能实现目标的吗?