Mit der rasanten Entwicklung des Internets werden die Funktionen und Anforderungen von Websites immer komplexer. Unter diesen ist die unendliche Klassifizierungsfunktion eine sehr wichtige Methode zum Organisieren und Verwalten von Informationen. Es kann Entwicklern helfen, Informationen effektiv zu organisieren, sodass Benutzer schneller finden, was sie brauchen. Heute stellen wir vor, wie Sie die unbegrenzte Klassifizierungsfunktion in der PHP-Entwicklung verwenden.
Was ist die unbegrenzte Klassifizierungsfunktion?
Bei der herkömmlichen Klassifizierung kann jede Kategorie nur eine übergeordnete Kategorie und mehrere untergeordnete Kategorien haben. In einigen komplexen Szenarien ist diese Klassifizierungsmethode jedoch begrenzt. Beispielsweise kann ein Produkt mehreren Marken, mehreren Klassifizierungsgruppen, mehreren Regionen usw. angehören. Zu diesem Zeitpunkt kann die unbegrenzte Klassifizierungsfunktion bessere Lösungen bieten.
Die unbegrenzte Klassifizierungsfunktion unterliegt, wie der Name schon sagt, keinen Ebenenbeschränkungen. Klassifizierungen können frei kombiniert werden und ein Datenelement kann zu mehreren Kategorien gehören. Diese Funktion eignet sich für Szenarien, die eine flexible Organisation von Daten erfordern, z. B. Blogklassifizierung, Produktklassifizierung, Nachrichtenklassifizierung usw.
So implementieren Sie eine unbegrenzte Klassifizierungsfunktion
Im Folgenden stellen wir Ihnen Schritt für Schritt vor, wie Sie eine unbegrenzte Klassifizierungsfunktion in der PHP-Entwicklung implementieren.
Schritt 1: Erstellen Sie eine Datenbanktabelle
Beim Erstellen einer Datenbanktabelle müssen wir drei Schlüsselfelder berücksichtigen, nämlich Kategorie-ID, Kategoriename und Kategorie-Eltern-ID. Die Kategorie-ID ist die eindeutige Kennung jeder Kategorie, der Kategoriename wird zum Anzeigen von Kategorieinformationen verwendet und die übergeordnete Kategorie-ID gibt die übergeordnete Kategorie-ID der Kategorie an.
CREATE TABLE categories
(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
, name
, parent_id
, lft
, rgt
) VALUES(1, 'Elektrisch Geräte', 0, 1, 10),
(2, ' TV', 1, 2, 3),(3, 'Mobiltelefongeräte', 1, 4, 9),
(4, 'Smartphone', 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>'; }
Das obige ist der detaillierte Inhalt vonSo nutzen Sie die unbegrenzte Klassifizierungsfunktion in der PHP-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!