인터넷의 급속한 발전으로 인해 웹사이트 기능과 요구 사항이 점점 더 복잡해지고 있습니다. 그 중 무한 분류 기능은 정보를 정리하고 관리하는 매우 중요한 방법입니다. 이는 개발자가 정보를 효과적으로 구성하여 사용자가 필요한 것을 더 빨리 찾을 수 있도록 도와줍니다. 오늘은 PHP 개발에서 무제한 분류 기능을 활용하는 방법을 소개하겠습니다.
무제한 분류 기능이 무엇인가요?
기존 분류에서는 각 카테고리에 상위 카테고리가 하나만 있을 수 있고 하위 카테고리가 여러 개 있을 수 있습니다. 그러나 일부 복잡한 시나리오에서는 이 분류 방법이 제한됩니다. 예를 들어, 제품은 여러 브랜드, 여러 분류 그룹, 여러 지역 등에 속할 수 있습니다. 이때 무제한 분류 기능은 더 나은 솔루션을 제공할 수 있습니다.
무제한 분류 기능은 이름에서 알 수 있듯이 등급 제한이 없으며 분류를 자유롭게 결합할 수 있으며 하나의 데이터가 여러 범주에 속할 수 있습니다. 이 기능은 블로그 분류, 상품 분류, 뉴스 분류 등 유연한 데이터 구성이 필요한 시나리오에 적합합니다.
무제한 분류 기능 구현 방법
아래에서는 PHP 개발 시 무제한 분류 기능을 구현하는 방법을 단계별로 소개하겠습니다.
1단계: 데이터베이스 테이블 만들기
데이터베이스 테이블을 만들 때 카테고리 ID, 카테고리 이름, 카테고리 상위 ID라는 세 가지 주요 필드를 고려해야 합니다. 카테고리 ID는 각 카테고리의 고유 식별자이고, 카테고리 이름은 카테고리 정보를 표시하는 데 사용되며, 카테고리 상위 ID는 해당 카테고리의 상위 카테고리 ID를 나타냅니다.
CREATE TABLE 범주
(categories
(
id
int(11) NOT NULL,
name
varchar(100) NOT NULL,
parent_id
int(11) NOT NULL,
PRIMARY KEY (id
)
);
第二步:插入分类数据
在数据库表中插入分类数据时,可以使用嵌套集合模型的方式,即用左右值描述每个分类层级组织关系,示例如下:
INSERT INTO categories
(id
, name
, parent_id
, lft
, rgt
id
int(11) NOT NULL,
name
varchar(100) NOT NULL,
parent_id
int(11) NOT NULL,
PRIMARY KEY (id
)
);
categories
(id
, 이름
, parent_id
, lft
, rgt
) VALUES(1, '전기 가전제품', 0, 1, 10),
(2, 'TV', 1, 2, 3),(3, '휴대폰 가전제품', 1, 4, 9),
(4, '스마트폰', 3, 5, 6),
{
$sql = 'SELECT * FROM `categories` WHERE `parent_id` = ? ORDER BY `lft` ASC'; $stmt = $pdo->prepare($sql); $stmt->execute([$parentId]); $categories = $stmt->fetchAll(PDO::FETCH_ASSOC); if (!empty($categories)) { $level++; $categories = array_map(function ($category) use ($level) { $category['level'] = $level; $category['children'] = getCategories($category['id'], $level); return $category; }, $categories); } return $categories;
if (!empty($categories)) { echo '<ul>'; foreach ($categories as $category) { echo '<li>' . $category['name'] . '</li>'; if (!empty($category['children'])) { showCategories($category['children']); } } echo '</ul>'; }
위 내용은 PHP 개발에서 무제한 분류 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!