Avec le développement d'Internet, le contenu des sites Web est devenu plus complexe et la classification de diverses données dans les pages Web est devenue de plus en plus complexe. La classification illimitée est une méthode extrêmement courante de classification des marchandises, qui permet de résoudre des problèmes de classification complexes dans différents scénarios commerciaux. Cet article expliquera comment utiliser Nodejs pour implémenter des fonctions de classification illimitées.
1. Points de connaissances préalables
Avant d'apprendre à obtenir une classification illimitée, nous devons comprendre les points de connaissances préalables suivants :
La base de données MySQL est un système de gestion de base de données relationnelle open source. En classification illimitée, nous devons utiliser une base de données pour stocker les données de classification.
Express Framework est un framework d'application Web développé rapidement et basé sur la plateforme Nodejs. Il fournit des fonctionnalités puissantes, telles que le routage, le middleware, le moteur de modèles, etc., rendant le développement d'applications Web plus facile et plus rapide.
Pour faire fonctionner la base de données, nous devons maîtriser certaines instructions SQL de base, telles que requête, insertion, modification, suppression, etc.
2. Définir une classification infinie
La classification infinie est une méthode de classification qui divise les données des produits selon des relations hiérarchiques. Par exemple, dans le commerce électronique, un produit peut appartenir à une grande catégorie, comme les vêtements. Au sein de cette grande catégorie de vêtements, il y aura de nombreuses petites catégories, comme les hauts, les pantalons, les jupes, etc., et ces petites catégories. aura des catégories de points plus détaillées.
Par conséquent, une caractéristique importante de la classification infinie est qu'il existe une relation hiérarchique entre les catégories, c'est-à-dire que chaque catégorie peut contenir des sous-catégories, et chaque sous-catégorie peut avoir sa propre sous-catégorie. niveau le plus bas.
De plus, une caractéristique importante de la classification illimitée est que le nombre de classifications est incertain. Nous pouvons ajouter ou supprimer des classifications à tout moment sans apporter d'ajustements importants à la structure hiérarchique des classifications existantes.
3. Concevoir la structure de la base de données
Avant de réaliser la fonction de classification illimitée, nous devons concevoir une structure de base de données appropriée pour répondre au stockage des données requis pour la classification. Nous devons créer une table dans la base de données pour stocker les informations de classification. Cette table doit contenir les champs suivants :
Ce champ est l'identifiant unique de la classification et peut être créé en utilisant un type entier auto-croissant. .
Ce champ est le nom de la catégorie. Le type varchar peut être utilisé pour stocker des données de type chaîne.
Ce champ est utilisé pour stocker l'ID de catégorie parent de la catégorie actuelle Si la catégorie actuelle est une catégorie de premier niveau, parent_id est 0.
4. Créer une interface API avec des catégories illimitées
Une fois la structure de la base de données créée, nous devons utiliser le framework Nodejs + Express pour créer une interface API avec des catégories illimitées. Nous devons implémenter les interfaces suivantes :
Cette interface est utilisée pour interroger toutes les catégories, et les résultats renvoyés doivent être triés en fonction de la relation hiérarchique des catégories. Le processus de mise en œuvre est le suivant :
① Utilisez le pool de connexions ou l'opération de connexion de la base de données pour vous connecter à la base de données.
② Utilisez des instructions SQL pour interroger toutes les données classifiées. L'instruction SQL est la suivante :
SELECT * FROM `category` ORDER BY parent_id, id;
Cette instruction SQL trie toutes les catégories en fonction de parent_id et id.
③ Renvoyez les résultats de la requête à la page d'affichage frontale.
Cette interface est utilisée pour interroger les informations d'une seule catégorie, y compris le nom de la catégorie, l'ID, l'ID de la catégorie parent, etc. Le processus de mise en œuvre est le suivant :
① Obtenez l'ID de catégorie transmis par le front-end.
② Utilisez l'instruction SQL pour interroger les informations de la catégorie spécifiée. L'instruction SQL est la suivante :
SELECT * FROM `category` WHERE `id` = ?;
Cette instruction SQL est utilisée pour interroger la classification de l'ID spécifié.
③ Renvoyez les résultats de la requête à la page d'affichage frontale.
Cette interface est utilisée pour ajouter une nouvelle catégorie. Le processus de mise en œuvre est le suivant :
① Obtenez les informations de classification transmises par le front-end, y compris le nom de la classification et l'ID de classification parent.
② Utilisez des instructions SQL pour insérer de nouvelles données classifiées. L'instruction sql est la suivante :
INSERT INTO `category` (`name`, `parent_id`) VALUES (?, ?);
Cette instruction sql est utilisée pour insérer de nouvelles données classifiées dans la base de données.
③ Renvoyez le résultat de l'insertion à la page d'affichage frontale.
Cette interface est utilisée pour modifier les informations des catégories spécifiées. Le processus de mise en œuvre est le suivant :
① Obtenez les informations de classification transmises par le front-end, y compris le nom de la classification et l'ID de la classification.
② Utilisez les instructions SQL pour mettre à jour les données de la catégorie spécifiée. L'instruction sql est la suivante :
UPDATE `category` SET `name` = ? WHERE `id` = ?;
Cette instruction sql est utilisée pour mettre à jour le nom de la catégorie avec l'ID spécifié.
③ Renvoyez les résultats de la mise à jour sur la page d'affichage frontale.
Cette interface est utilisée pour supprimer la catégorie spécifiée. Le processus de mise en œuvre est le suivant :
① Obtenez l'ID de catégorie transmis par le front-end.
② Utilisez l'instruction SQL pour supprimer la catégorie avec l'ID spécifié. L'instruction sql est la suivante :
DELETE FROM `category` WHERE `id` = ?;
Cette instruction sql est utilisée pour supprimer la catégorie avec l'ID spécifié.
③ Renvoyez le résultat de la suppression à la page d'affichage frontale.
5. Obtenez une classification illimitée
En créant l'interface ci-dessus, nous avons pu implémenter des opérations de base sur des données classifiées. Cependant, nous devons également implémenter la logique de base de la classification infinie dans Nodejs.
Le processus de mise en œuvre est le suivant :
① Utilisez des instructions SQL pour interroger toutes les données classifiées.
② Traitez les résultats de la requête et triez toutes les catégories selon les relations hiérarchiques.
③ Utilisez une fonction récursive pour parcourir les données catégorielles et stocker les sous-catégories de chaque catégorie comme attributs.
④ Renvoyez les données de classification traitées à la page d'affichage frontale.
Dans le processus de réalisation d'une classification infinie, nous devons utiliser des fonctions récursives, car il existe une relation parent-enfant entre les catégories, chaque catégorie peut avoir des sous-catégories et chaque sous-catégorie peut avoir sa propre sous-catégorie. La fonction récursive peut parcourir toutes les catégories et stocker les sous-catégories de chaque catégorie comme attributs, permettant un nombre illimité de catégories.
6. Résumé
Grâce à l'introduction de cet article, nous avons appris à utiliser Nodejs et le framework Express pour obtenir des fonctions de classification illimitées. Les points de connaissances à maîtriser incluent la base de données Mysql, le framework Express, les instructions SQL manuscrites, la conception de l'interface API, etc. De plus, cet article explique comment utiliser des fonctions récursives pour implémenter une logique de classification infinie. J'espère que cet article pourra vous aider et vous rendre plus compétent dans la technologie permettant de réaliser une classification infinie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!