Heim  >  Artikel  >  Backend-Entwicklung  >  So nutzen Sie die unbegrenzte Klassifizierungsfunktion in der PHP-Entwicklung

So nutzen Sie die unbegrenzte Klassifizierungsfunktion in der PHP-Entwicklung

王林
王林Original
2023-06-25 14:36:151266Durchsuche

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)
);

Schritt 2: Kategoriale Daten einfügen

Beim Einfügen kategorialer Daten in die Datenbanktabelle können Sie die Einbettung verwenden Um ein Sammlungsmodell einzurichten, verwenden Sie linke und rechte Werte, um die Organisationsbeziehung jeder Kategorieebene zu beschreiben. Das Beispiel lautet wie folgt:

INSERT INTO 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),

(5, 'Feature phone' ', 3, 7, 8);

Unter diesen beschreiben lft und rgt die hierarchische Beziehung zwischen Kategorien, und Unterkategorien und übergeordnete Kategorien können rekursiv abgefragt werden.

Schritt 3: Klassifizierte Daten abfragen

Bei der Abfrage klassifizierter Daten können wir eine rekursive Abfrage verwenden. Das Beispiel lautet wie folgt:

function getCategories($parentId = 0, $level = 0)

{

$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;

}

In dieser Funktion fragen wir zunächst alle Unterkategorien unter der aktuellen übergeordneten Kategorie ab und sortieren sie nach L-Wert. Anschließend wird durch rekursiven Aufruf die Unterkategorie der Unterkategorie abgefragt und im Kinderfeld gespeichert. Schließlich wird ein kategoriales Array zurückgegeben.

Schritt 4: Kategoriale Daten anzeigen

Bei der Anzeige kategorialer Daten können wir rekursive Durchquerung verwenden. Das Beispiel lautet wie folgt:

Funktion showCategories($categories)🎜{🎜
if (!empty($categories)) {
    echo '<ul>';
    foreach ($categories as $category) {
        echo '<li>' . $category['name'] . '</li>';
        if (!empty($category['children'])) {
            showCategories($category['children']);
        }
    }
    echo '</ul>';
}
🎜}🎜🎜In dieser Funktion bestimmen wir zunächst ob das Kategorie-Array leer ist. Wenn nicht, durchlaufen Sie das Array und zeigen Sie den Kategorienamen an. Wenn die Kategorie dann Unterkategorien hat, rufen Sie sich selbst rekursiv auf, um die Unterkategorien anzuzeigen. 🎜🎜Fazit🎜🎜Durch die oben genannten vier Schritte können wir problemlos unbegrenzte Klassifizierungsfunktionen implementieren und auch rekursive Methoden verwenden, um klassifizierte Daten anzuzeigen. Diese Funktion ist in der tatsächlichen Entwicklung sehr verbreitet, insbesondere in E-Commerce, Nachrichten, Blogs und anderen Szenarien. Ich hoffe, dass dieser Artikel PHP-Entwickler inspirieren und ihnen helfen kann, den tatsächlichen Entwicklungsanforderungen besser gerecht zu werden. 🎜

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn