-2

ここに画像の説明を入力

このテーブルでは、「parent_category_id」を使用して複数レベルのサブカテゴリを作成し、クエリまたは PHP コードを使用してこのタイプの配列を取得する方法

期待される出力:

私はcategory_id=7を検索することができ、それは最下位から最上位のカテゴリを返します

この場合、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
        )
)
4

2 に答える 2

0
$items = array() ;

while($row = $result->fetch_assoc()){
  $items[(int) $row['category_id']] = array(
    "category_id" => $row['category_id'],
    "category_name" => $row['category_name'] 
  ) ;
}

その配列のインデックスとして使用することに注意してくださいcategory_id。したがって、id でカテゴリを検索するのは非常に簡単です。

から始まる通常の索引付けがまだ必要な場合0:

  $items[] = array(
    "category_id" => $row['category_id'],
    "category_name" => $row['category_name'] 
  ) ;
于 2013-09-09T10:33:53.780 に答える
0
$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;
  }
于 2013-09-09T10:34:57.110 に答える