Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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/59.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 如何从下到上获取类别数组?_Php_Mysql_Sql - Fatal编程技术网

Php 如何从下到上获取类别数组?

Php 如何从下到上获取类别数组?,php,mysql,sql,Php,Mysql,Sql,在这个表中,我们使用“parent\u category\u id”创建多级子类别,然后使用查询或php代码获取这种类型的数组 预期输出: 我可以搜索category_id=7,它将从底部返回顶部levev category 在这种情况下,10是7的孩子,7是1的孩子 Array ( [0] => Array ( [category_id] => 1 [category_name] => Busines

在这个表中,我们使用“parent\u category\u id”创建多级子类别,然后使用查询或php代码获取这种类型的数组

预期输出:

我可以搜索category_id=7,它将从底部返回顶部levev category

在这种情况下,10是7的孩子,7是1的孩子

Array
(   
   [0] => Array
        (
            [category_id] => 1
            [category_name] => Business Cards
        ),
   [1] => Array
        (
            [category_id] => 10
            [category_name] => One Sided
        ),
  [2] => Array
        (
            [category_id] => 7
            [category_name] => Standard
        )
)
请注意,我使用
category\u id
作为该数组中的索引,因此按id搜索类别非常容易

如果仍然需要从
0
开始的常规索引:

  $items[] = array(
    "category_id" => $row['category_id'],
    "category_name" => $row['category_name'] 
  ) ;

我需要从上到下的分类,但如何得到结尾level@ShaktiPatel如果父类别id为零,则为最高级别。然后
如果($row['parent\u category\u id']==0)中断将打破循环。我需要从上到下的分类你是什么意思?在你的问题中描述你想要的结果。恐怕你错了!10是7岁的孩子,7是1岁的孩子。
  $items[] = array(
    "category_id" => $row['category_id'],
    "category_name" => $row['category_name'] 
  ) ;
$query = "select category_id, category_name from category_table where category_id = '$id'";

$result = mysqli_query($con, $query); //assuming you perform mysqli_connection first

$array_output = array();

$row = mysqli_fetch_assoc($result);
$array_output[] = $row;

while(!empty($row)){
   if($row['parent_category_id'] == 0) break;
   $query = "select category_id, category_name from category_table where category_id = '{$row['parent_category_id']}'";
   $result = mysqli_query($con,$query);
   $row = mysqli_fetch_assoc($result);
       $array_output[]= $row;
  }